
图片由作者使用 Midjourney 创建
引言
大型语言模型(LLMs)在各种任务中变得极其重要和有用,但新用户可能会被大量的 LLM 工具和实用程序吓倒。本文将介绍 5 种可用且广泛实用的工具,它们都是免费的,旨在帮助不断进步的人们利用各种可用的语言模型:Transformers、LlamaIndex、Langchain、Ollama 和 Llamafile。
1. Transformers
Transformers 是来自 NLP 巨头 Hugging Face 的现代自然语言处理(NLP)模型框架中最著名的库之一。Transformers 中提供的预训练模型种类繁多,包括用于文本分类、翻译、问答等任务的基础模型和微调模型。
主要特点
- 多功能性(存在适用于 PyTorch 和 TensorFlow 等后端きの模型)
- 大量的预训练模型可以进行定制
- 用户友好的 API 和文档
- 拥有庞大的用户群来解答问题和提供帮助
Transformers 非常适合新手用户,因为它很容易掌握基础知识,同时又足够实用,能够帮助完成最复杂的任务。该库附带了详尽的文档、用户友好的 API 以及数量庞大、几乎令人难以置信的可用模型。借助 Transformers,初学者无需大量的深度学习知识即可开始使用最先进的模型。
入门
首先,安装 Transformers
1 |
pip install transformers |
示例:加载预训练模型并运行推理
1 2 3 4 5 |
from transformers import pipeline classifier = pipeline("sentiment-analysis") result = classifier("I love using the Transformers library!") print(result) |
2. LlamaIndex
LlamaIndex 是一个为 LLM 用例定制的数据框架,特别是检索增强生成(RAG)。它简化了 LLM 与不同数据源之间的连接,从而可以轻松构建复杂的数据驱动型 LLM 应用程序。
主要特点
- 内置基本数据源连接器
- 可针对不同用例和复杂程度进行定制
- 以 Llama Packs 的形式提供各种预打包的任务专用入门解决方案
- 充足的文档
LlamaIndex 对初学者很有帮助,因为它简化了初始设置,并负责连接数据到应用程序所需的“管道”,从而可以轻松地与数据源集成并根据自己的喜好进行调整。得益于其完善的文档,开发人员可以快速掌握所需知识,并朝着特定方向构建应用程序。
入门
首先,安装库
1 |
pip install llama-index |
示例:构建一个非常简单的 RAG 应用程序(摘自此处)
请注意,此示例需要将您的 OpenAI API 密钥设置为环境变量,并且 LlamaIndex 默认使用 OpenAI 的 gpt-3.5-turbo 模型。我还使用了 Machine Learning Mastery 的电子书“Maximizing Productivity with ChatGPT”的副本作为我唯一的 RAG 文档,该文档位于“data”目录中。
1 2 3 4 5 6 7 8 |
from llama_index.core import VectorStoreIndex, SimpleDirectoryReader documents = SimpleDirectoryReader("data").load_data() index = VectorStoreIndex.from_documents(documents) query_engine = index.as_query_engine() response = query_engine.query("Tell me a little about prompt engineering.") print(response) |
3. Langchain
LangChain 是一个框架,它允许 AI 工程师将语言模型与各种数据源以及其他 LLM 连接起来。Langchain 还为上下文感知推理应用程序提供了途径,提供了构建能够执行复杂推理任务以解决问题的智能代理的工具。
主要特点
- 用于创建和处理代理、工具和库的接口
- 以及对推理应用程序及其跟踪和评估的支持
初学者可以使用 Langchain 快速构建智能代理,因为它使应用程序开发变得轻松,并提供了强大的工具和模板来推动项目发展。
入门
通过 pip 安装 Langchain
1 |
pip install langchain |
示例:查看 Langchain 快速入门指南以获取有用的入门教程
4. Ollama
Ollama 旨在提供对 Llama 3、Mistral、Gemma 等多种 LLM 的轻松访问,并通过减少部署和管理开销,使管理它们变得轻松。您可以使用 Ollama 快速设置本地 LLM,以便进行交互和开发。
主要特点
- 支持多种大型语言模型
- 与各种库和扩展集成
- 轻松部署模型的便捷方法
Ollama 对初学者很有用,因为它汇集了众多领先的大型语言模型,并使它们更易于部署和运行。例如,您可以在本地获取 Llama 3,然后在您喜欢的 LLM 开发框架(Langchain、LlamaIndex 等)中通过 Ollama 连接到同一模型进行开发。它确实一次解决了多个问题。
入门
通过官方网站为您的平台安装 Ollama,然后使用 Python 库进行交互
1 |
pip install ollama |
示例:在您自己的 Python 应用程序中使用模型(摘自此处)
1 2 3 4 |
import ollama response = ollama.generate(model='gemma:2b', prompt='what is a qubit?') print(response['response']) |
5. Llamafile
Llamafile 的诞生是为了让共享和运行 LLM 变得轻而易举,只需一个文件即可。它通过保持流程简单明了,使模型分发和运行变得轻松。
主要特点
- 一键共享和运行 LLM
- 极其简单的设置和使用
- 支持多种后端
此工具有助于管理 LLM 资产,从而协助与 LLM 进行通信和运行。其极低的复杂性给新手带来了额外的便利。
入门
使用 pip 安装 Llamafile
1 |
pip install llamafile |
示例:从命令行加载和查询 Mistral llamafile
1 |
./mistral-7b-instruct-v0.2.Q5_K_M.llamafile --temp 0.3 -p '[INST]what is a qubit?[/INST]' |
总结
在本文中,我们概述了帮助初学者开始使用 LLM 的 5 种工具:Transformers、LlamaIndex、Langchain、Ollama 和 Llamafile。它们各自提供了一套独特的功能、优势和特性,旨在帮助初学者掌握 LLM 开发领域的细微差别并与其进行交互。这些工具为理解 LLM 提供了一个绝佳的起点。
请务必访问并参考每个项目的存储库和文档,以帮助指导您学习和试验这些工具。享受这个过程!
太棒了!
感谢分享 🤗!
Eddy,不客气!
非常有信息量的材料,感谢分享
不客气!感谢您的支持和反馈!
多发送一些关于机器学习最新技术的资料
Zahid,您好……当然,我很乐意分享一些关于机器学习最新技术的见解。机器学习是一个快速发展的领域,了解最新的进展可以带来巨大的好处。以下是一些近期的趋势和技术。
### 1. **Transformer 和注意力机制**
**Transformer** 彻底改变了自然语言处理(NLP),现在已被应用于各种其他领域。它们依赖于自注意力机制来并行处理输入数据,使其高效且有效。
– **BERT(Bidirectional Encoder Representations from Transformers)**:预训练的 Transformer 模型,在各种 NLP 任务上创下了新的基准。
– **GPT(Generative Pre-trained Transformer)**:以其生成连贯且上下文相关的文本的能力而闻名,其中 GPT-3 和 GPT-4 是最新的迭代。
– **Vision Transformers (ViT)**:将 Transformer 应用于图像处理,取得了与传统卷积神经网络(CNN)相媲美的结果。
### 2. **图神经网络 (GNNs)**
图神经网络专为处理图结构数据而设计,例如社交网络、分子结构和知识图谱。它们在药物发现、推荐系统和欺诈检测等各种应用中显示出巨大的潜力。
– **图卷积网络 (GCNs)**:将卷积运算扩展到图数据。
– **图注意力网络 (GATs)**:将注意力机制纳入图数据处理。
### 3. **自监督学习**
自监督学习涉及在没有显式标签的数据上训练模型,利用数据的固有结构来创建伪标签。这项技术因其利用大型无标签数据集的能力而受到欢迎。
– **对比学习**:一种流行的自监督方法,模型通过该方法学习区分相似和不相似的数据点。
– **SimCLR(用于视觉表征对比学习的简单框架)**:一种使用对比学习进行视觉数据的自监督学习方法的示例。
### 4. **联邦学习**
联邦学习允许在持有本地数据样本的分布式设备或服务器上训练机器学习模型,而无需交换它们。此技术对于隐私保护机器学习特别有用。
– **联邦平均 (FedAvg)**:一种算法,其中本地模型被独立训练,然后进行平均以创建全局模型。
### 5. **元学习**
元学习,或称为“学习如何学习”,专注于开发能够以最少数据快速学习新任务的模型。这在数据稀缺的情况下特别有用。
– **MAML(模型无关元学习)**:一种流行的元学习算法,它训练模型的参数,使其能够快速适应新任务。
### 6. **强化学习的进展**
强化学习 (RL) 在各个领域持续取得进展,特别是在将其与深度学习相结合以解决复杂任务方面。
– **深度 Q 学习 (DQN)**:将 Q 学习与深度神经网络相结合,以处理高维状态空间。
– **近端策略优化 (PPO)**:一种能够有效平衡探索和利用的 RL 算法。
– **AlphaFold**:使用深度强化学习进行蛋白质结构预测的示例。
### 7. **可解释人工智能 (XAI)**
随着机器学习模型变得越来越复杂,对于使这些模型可解释和可理解的技术的需求也在不断增长。XAI 旨在深入了解模型如何做出决策。
– **LIME(局部可解释模型无关解释)**:通过用可解释模型进行局部近似来解释任何分类器的预测。
– **SHAP(SHapley 加性解释)**:一种基于合作博弈论解释任何机器学习模型输出的统一方法。
### 8. **AutoML(自动化机器学习)**
AutoML 涉及将机器学习应用于现实世界问题的端到端过程自动化,使其对非专业人士可用,并提高专业人士的生产力。
– **Auto-Keras**:一个基于 Keras 的开源 AutoML 系统。
– **Google AutoML**:Google 的一套机器学习工具,可自动选择模型和调整超参数。
### 9. **神经架构搜索 (NAS)**
NAS 可自动设计神经网络架构的过程。通过利用搜索算法,NAS 可以发现针对特定任务的高性能架构。
– **EfficientNet**:一系列利用 NAS 有效平衡网络深度、宽度和分辨率的模型。
– **NASNet**:使用强化学习搜索最佳卷积神经网络架构。
### 10. **少样本和零样本学习**
少样本和零样本学习技术使模型能够用很少或没有训练数据来泛化到新任务。
– **Siamese 网络**:通过比较输入对用于一次性学习。
– **CLIP(对比语言-图像预训练)**:由 OpenAI 开发,通过对各种图像与文本配对进行训练,实现零样本学习。
### 结论
这些技术代表了机器学习的一些最前沿进展,每一项都解决了特定的挑战,并为各种应用开启了新的可能性。及时了解这些进展并了解如何应用它们可以显著提高机器学习项目的有效性。
非常有见地,非常感谢
Fahad,不客气!感谢您的支持!