为了账号安全,请及时绑定邮箱和手机立即绑定

构建AI/ML应用的顶级开发工具!

我来自DevOps领域,直到加入现在的公司SingleStore,我才开始接触AI/ML领域。加入公司已经8个月了,一切进展得非常顺利。通过各种博客、教程、工具等学习AI/ML领域的各种新事物。刚开始加入公司时,我得知公司正在大力投资AI/ML领域,于是开始寻找一些可以简化学习过程并进行实践的工具。话说回来,我们有很多内容和材料可以开始学习,但我还想看看行业之外的情况,并进行自己的研究。

就像我说的,已经过去了8个月。在这段旅程中,从举办网络研讨会、参加大会演讲到撰写关于新兴技术趋势的博客,我遇到了一系列不可或缺的工具。在这篇文章中,我将分享这些工具——从新兴编程语言到AI框架,再到向量数据库和简化AI/ML应用开发的工具。

让我们开始吧。

1. 编程语言
Wing

我尝试过很多种语言,发现大多数语言都被过度炒作。是的,就是在那个时候,我遇到了一个社区,他们谈论一种专门为云和AI应用设计的新语言。那是我第一次尝试Wing编程语言,并觉得它相当令人印象深刻。

你可能会问——为什么是 Wing?Wing 提供了一个统一的编程模型,将基础设施和应用代码整合到一个统一的框架中。这种独特的做法让开发人员能够简化工作流程,消除频繁切换上下文的需要,从而显著提高生产效率和创造力。

这就是你在构建AI/ML应用程序时所需要的,更侧重于核心功能而不是底层基础设施。我遇到了他们的Open AI Joker应用,它可以生成并翻译成不同语言的笑话。看到整个框架运行得如此流畅真是太棒了。顺便说一下,Wing目前仍在积极开发中。

你可以用最少的代码构建任何 AI/ML 应用程序。让我们看看 Joker 应用程序是如何工作的。该应用程序使用 OpenAI 生成笑话,并将其翻译成不同的语言。有一个喜剧演员和一个 OpenAI 助手负责生成笑话,每当生成一个笑话时,这个笑话会被存入一个桶中。有两个翻译器,一个是西班牙语翻译器,另一个是希伯来语翻译器。这两个翻译器订阅同一个主题,每当生成一个笑话时,它们会接收到这个笑话并将其翻译。然后,它们也会将翻译后的笑话存入桶中。非常简单。

下面是使用 OpenAI 的 API 与 Wing 结合的示例的技术概览图。API with Wing

如果你还没有试过Winglang,你可以通过一个简单的命令轻松地试一试。

    npm install -g winglang

使用此 git clone 命令将代码复制到您的本地计算机。

    git clone https://github.com/winglang/wing.git

进入 examples 文件夹

然后在终端中运行以下命令:

    npm install
    wing it

调用“START HERE”功能,并在“笑话商店”中查看结果。

2. 向量数据存储和分析工具
SingleStore & 笔记本

对于AI/ML应用,你需要一个数据库来存储非结构化数据。我大约8个月前加入了SingleStore,当时我对AI/ML和向量数据库还很陌生。随着向量数据库的热度不断上升,我开始学习向量数据库,并发现SingleStore作为向量数据库对行业来说是一个非常棒的补充。它不仅用于存储向量数据,公司还使用SingleStore进行实时分析。现在看看向量数据存储支持实时分析的强大之处,这真是一个超能力。

让我向大家介绍 SingleStore;它是一个基于云的关系型数据库管理系统(RDBMS),专为数据密集型应用设计。它以数据导入、事务处理和查询处理的速度快而闻名。SingleStore 早在 2017 年就开始支持向量存储。

SingleStore 的 Notebook 功能基于流行的 Jupyter Notebook,该工具在数据科学和机器学习社区中被广泛使用。SingleStore Notebook 扩展了 Jupyter Notebook 的功能,使数据专业人员能够轻松地与 SingleStore 的分布式 SQL 数据库一起工作,并提供了强大的语言和数据源扩展性。

试用SingleStore并获得价值600美元的免费信用.

3. 数据操作和分析工具

我特别喜欢处理数据并做一些不同的实验,比如使用公开的数据集,如葡萄酒数据集、泰坦尼克号数据集等。我被 NumPy 和 Pandas 在数据探索和提出不同解决方案方面的强大功能所震撼。

Pandas 和 NumPy 是 Python 生态系统中用于数据分析和科学计算的两个最受欢迎的库。

Pandas 和 NumPy

任何AI/ML应用的核心都是数据。Pandas和NumPy这样的工具是Python中数据操作和分析的基础。Pandas提供了处理数值表格和时间序列的高级数据结构和操作,非常适合在训练模型之前对数据进行预处理和清理。NumPy则提供了大型多维数组和矩阵的支持,以及大量用于操作这些数组的数学函数,这对于数据预处理和模型训练中的性能密集型操作至关重要。

4. AI 与机器学习框架

我使用过 TensorFlow 和 PyTorch,最近还接触了 LangChain 和 LlamaIndex,它们能够帮助 AI/ML 工程师提供所需的所有工具包,如 API、向量存储功能、逻辑、推理等,让我印象深刻。让我们一一来看看它们的超能力。

TensorFlow 和 PyTorch

TensorFlow, 由 Google 开发,和 PyTorch 由 Facebook 开发,是构建和训练复杂机器学习模型的两个最受欢迎的框架。TensorFlow 以其灵活性和强大的可扩展性而闻名,适用于研究原型和生产部署。PyTorch 因其易用性、简洁性以及动态计算图而受到赞誉,这种动态计算图使得复杂 AI 模型的编码更加直观。这两个框架都支持从简单的线性回归到复杂的深度神经网络等各种 AI 模型。

LangChain

由 Harrison Chase 开发,并于 2022 年 10 月首次亮相的 LangChain 是一个开源平台,旨在构建由大型语言模型(如 ChatGPT 等聊天机器人和各种定制应用)驱动的坚固应用。

Langchain旨在为数据工程师提供一个全面的工具包,用于在各种用例中利用大语言模型(LLM),例如聊天机器人、自动问答、文本摘要等。

LlamaIndex

LlamaIndex 是一个高级编排框架,旨在增强像 GPT-4 这样的大语言模型的能力。虽然这些大语言模型本身非常强大,经过大量公共数据集的训练,但它们通常缺乏与私有或特定领域数据交互的能力。

LlamaIndex 桥接了这一差距,提供了一种结构化的方式来摄取、组织和利用各种数据源——包括 API、数据库和 PDF。通过将这些数据索引到适合 LLM 的格式,LlamaIndex 促进了自然语言查询,使用户能够无缝地与其私有数据进行对话,而无需重新训练模型。

5. 深度学习模型

作为一名初学者,我在寻找一个简单且灵活的工具来开发深度学习模型时发现了Keras。许多AI/ML专业人士都称赞Keras因其在原型设计和开发深度学习模型方面的简单性和高效性,使其成为初学者和需要快速开发项目的首选工具。

Keras

对于寻求高级神经网络API的开发人员来说,Keras(现在已集成到TensorFlow中)提供了更简单的接口来构建和训练深度学习模型。Keras 抽象了构建神经网络的许多复杂性,使其对初学者来说易于使用,同时仍然足够强大以支持研究。

6. 开发和版本控制平台
GitHub 和 DVC

协作和版本控制在AI/ML开发项目中至关重要,因为模型开发具有迭代性,并且需要可重复性。GitHub 是源代码管理的领先平台,允许团队协作编写代码、跟踪问题并管理项目里程碑。DVC(数据版本控制)通过处理Git无法有效管理的大文件、数据集和机器学习模型,补充了Git的功能,从而实现了AI项目中使用的数据和模型文件的版本控制。

7. AI 模型部署与监控

我建立了一些AI/ML应用程序,但要如何以及在哪里部署它们呢?这时我的思路跳到了这两个主要工具上:DockerKubernetes。正如我之前所说,我来自DevOps领域,并且已经使用过这些工具,了解它们的工作原理。Docker可以将你的应用程序容器化,而Kubernetes则用于部署可以扩展的应用程序。

Docker 和 Kubernetes

部署AI模型到生产环境需要能够打包应用程序并进行大规模管理的工具。Docker通过将应用程序容器化来简化AI应用的部署,确保应用程序在任何环境中都能顺利运行。Kubernetes是一个用于Docker容器的编排系统,它允许自动部署、扩展和管理容器化应用程序,这对于需要跨多个服务器或云环境进行扩展的AI应用来说至关重要。

8. 用于AI的云平台

你无法在没有像AWS, Google 和 Azure这样的云平台的情况下进行扩展。虽然 AWS 是我最喜欢的,我也探索了其他选项,并在这里提到了三大主要的云提供商。

AWS、Google Cloud 和 Azure

云平台如亚马逊网络服务(AWS)、谷歌云平台(GCP)和微软 Azure 提供了一系列 AI 和机器学习服务,这些服务抽象了训练和部署 AI 模型所需的大量基础设施。这些平台提供了用于机器学习模型训练、部署和监控的托管服务,以及大量可扩展到任何 AI 项目需求的计算资源。

9. 专用AI开发工具

虽然我仍然更喜欢使用 SingleStore 的 Notebook 功能,我知道你们大多数人已经在使用 Jupyter Notebook 进行数据探索和分析。我有时也会使用 Jupyter Notebook,还有一个更有趣的工具是 MLflow,它可以帮助你完成端到端的机器学习工作流。

Jupyter 笔记本

对于探索性数据分析、模型开发和文档编写,Jupyter Notebooks 是一个不可或缺的工具。它们允许开发人员创建和分享包含实时代码、方程、可视化和叙述性文本的文档,使其成为协作AI研究和开发的绝佳工具。

MLflow

MLflow 是一个开源平台,用于管理端到端的机器学习生命周期。它包括实验跟踪、模型版本管理和部署等功能,使开发人员能够跟踪和比较实验,将模型打包成可复现的运行,并管理跨多个环境的模型部署。

最后的一些想法:

人工智能/机器学习领域的发展如同海洋般广阔。每天我们都会看到一种或另一种语言模型带着诸多期待亮相。虽然还有很多令人惊叹的开发工具可以加入这个名单,但从我个人的经验来看,我认为这些工具是每位人工智能/机器学习工程师开始构建自己的AI/ML应用的良好起点。

让你知道你目前在 AI/ML 领域中最喜欢的工具有哪些。

点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消