赞
踩
封面图片由通义万相生成
毫无疑问的明星库,几乎每一个大模型在发布时都会提供该库的推演支持。Transformer原本是由Google的工程师提出的一种深度学习模型结构的名字,该结构使用了注意力机制,有效的提升了模型表现。HuggingFace将自己开发的注意力机制库命名为Transformers,并逐渐在大语言模型开发中流行开来。
Transformers支持Rust。将以下内容添加至Cargo.toml文件
candle-transformers = { git = "https://github.com/huggingface/candle.git", version = "0.5.0" }
官网:https://github.com/huggingface/transformers
llama.cpp
这个库是一个大语言模型推演库。其最大的特点在于无任何依赖的纯C/C++实现。支持Apple芯片加速、AVX, AVX2 and AVX512指令加速、1.5-bit, 2-bit, 3-bit, 4-bit, 5-bit, 6-bit与8-bit量化、NVIDIA与AMD GPU等。它使用GGUF格式文件作为量化模型的存储格式。底层依赖GGML库有各种语言的桥接可以使用。C++广泛的使用场景与众多的开发者基础使之成为一个流行的开发库。如果你需要在现有的C++工程中引入大语言模型,可以参考。
官网:https://github.com/ggerganov/llama.cpp
Ollama
这并非一个开发库,而是一款支持多款大模型的API服务工具。该工具使用Go语言编写,支持Linux、Mac与Windows。如果你只是想快速拉起一款大语言模型API服务,选它可以最小化你的工作量。配合Open WebUI可以提供新手友好的大模型体验。
官网:https://ollama.com/
vLLM
vLLM是UC Berkeley开发的一款大语言模型推演库,同时提供了API服务功能。它最大的特色是名为PagedAttention的加速技术,通过高效管理注意力的key与value,据称相比Transformers可以将大模型处理通量提升数倍以上。vLLM已经被用在大语言模型擂台榜单Chatbot Arena(Vicuna作者开发)中,用来降低推演的资源占用。
如果你对PagedAttention感兴趣,可以参考它们的官方博客:https://blog.vllm.ai/2023/06/20/vllm.html
LlamaIndex
如果你正在考虑开发一款大语言模型驱动的知识问答应用,那至少应当尝试一下LlamaIndex。大语言模型的“幻觉”是知识问答场景最大的问题。为了解决这个问题,需要为大模型限定一个“上下文环境”。而上下文环境的内容则来自于知识问答所关联的知识库。从关联知识库获取相关内容,填充至上下文环境,以限定大语言模型生成的内容,即为检索增强生成(Retrieval Argumented Generation)。
检索增强生成不仅需要大语言模型,还需要一系列与之配套的模块。例如各种数据格式解析器,负责从PDF、word、网页、数据库等源头解析数据;数据切分模块将获得的数据切分成可供大语言模型处理的分块;数据特征解析模块将每一个数据块按照内容语义抽象为一个向量;向量存储与召回模块负责存储并超找与一个向量高度相似的向量模块。很显然,这些功能远非一个库可以解决的问题,而是一套系统工程。LlamaIndex的应用场景正好与此相关。
官网:https://www.llamaindex.ai/
LangChain
即便从来没有使用过这个库的人至少也应该有所耳闻。LangChain提供的各种基础组件可以用来开发与大语言模型相关的应用,例如之前提到的检索增强生成,并且不限于此。LangChain是一款非常庞杂的框架,如果你需要更加深入地了解LangChain,可以参考Andrew NG的免费教程“基于LangChain的大语言模型应用开发”。
https://www.deeplearning.ai/short-courses/langchain-for-llm-application-development/?ref=yinguobing.com
总结
以上为六款大语言模型开发常见的工具。大语言模型至今依然处在非常活跃的开发周期中,几乎每天都有大量的新概念与工具出现,请量力而为!
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。