D0-模型原理
LLM模型结构相关原理
# | Name | Company/Organization | Brief Introduction | Paper | Github WFS | Contributors |
---|---|---|---|---|---|---|
1 | RWKV | 国人主导的研究团队 | RWKV结合了Transformer的高效并行化训练和RNN的高效推理,利用线性注意机制,允许将模型制定为Transformer或RNN,在训练期间并行计算,在推理期间保持恒定的计算和内存复杂性,将非Transformer架构扩展到数百亿个参数。 | - | - | - |
2 | FlashAttention | Stanford | FlashAttention-2是一种从头编写的算法,可以加快注意力并减少其内存占用,且没有任何近似值。比起第一代,FlashAttention-2速度提升了2倍。甚至,相较于PyTorch的标准注意力,其运行速度最高可达9倍。 | FlashAttention2 | 82/434/6.3k | - |
3 | Long-Context | Abacus.AI | 对现有基于 LLaMA 或 LLaMA 2 模型的上下文长度外推方法进行了广泛的调查,并提出一种新的 truncation 策略,该模型也是首个基于LLaMA2的32k上下文窗口开源 LLM。 | - | - | - |
4 | HyperAttention | 耶鲁大学、谷歌研究院 | 对其注意力层的精确计算导致了二次(在序列长度上)运行时和内存复杂性。特点是模块化设计,可以轻松集成其他快速底层实现 | HyperAttention | - | - |
D0-训练原理
LLM训练使用的相关技术和方法
# | Name | Company/Organization | Brief Introduction | Paper | Github WFS | Contributors |
---|---|---|---|---|---|---|
1 | RLHF | OpenAI联合DeepMind | RLHF就是基于人类反馈(Human Feedback)对语言模型进行强化学习(Reinforcement Learning),和一般的fine-tune过程乃至prompt tuning不同。 | RLHF | - | - |
2 | 开源RLHF-trlX | CarperAI ,EleutherAI研究小组的一个新实验室 | trlX 是一个从头开始设计的分布式训练框架,专注于使用提供的奖励函数或奖励标记的数据集通过强化学习来微调大型语言模型。使用方法: 可以使用奖励函数或带有奖励标签的数据集来训练模型。 | - | 48/348/3.5k | 45 |
D0-微调原理
LLM微调的方法
# | Name | Company/Organization | Brief Introduction | Paper | Github WFS | Contributors |
---|---|---|---|---|---|---|
1 | LoRA | Microsoft | 直译为大语言模型的低阶适应,是一种PEFT(参数高效性微调方法),这是微软的研究人员为了解决大语言模型微调而开发的一项技术。 | LoRA | 43/266/7.1k | 7 |
2 | QLoRA | 华盛顿大学 | 与16位完全微调基线相比,QLoRA将65B参数模型进行微调的平均内存需求从 >780GB 的 GPU 内存减少到48GB,而不会降低运行时间或预测性能。 | QLoRA | 83/715/8.1k | 16 |
3 | LoRAHub | sea AI lab singapore | LoraHub是AI框架,用于自动组合LoRA模块,实现对新任务的适应性性能。具有高性能和灵活性,可以在只有CPU的计算机上运行,通过减少推理成本提高效率。为用户提供了一个共享、访问和应用训练过的LoRA模块的平台,为NLP任务的开发和应用提供了便利。 | LoraHub | 11/24/401 | 11 |
4 | S-LoRA | S-LoRA | 是一个专为许多LoRA适配器的可扩展服务而设计的系统,S-LoRA能够在单个GPU上或跨多个GPU以较小的开销为数千个LoRA适配器提供服务。 | S-LoRA | 0/1/56 | 4 |
5 | ZipLoRA | ZipLoRA | 一种低成本且有效地合并独立训练的风格和主题 LoRA 的方法,以便实现以任何用户提供的风格生成任何用户提供的主题 | ZipLoRA | - | - |
D0-推理
LLM推理相关算法
# | Name | Company/Organization | Brief Introduction | Paper | Github WFS | Contributors |
---|---|---|---|---|---|---|
1 | vLLM | 加州大学伯克利分校 | 主要用于快速LLM推理和服务,的核心是PagedAttention,一种新的注意力算法,将在操作系统的虚拟内存中分页的经典思想引入到LLM服务中,配备了PagedAttention的vLLM比HuggingFace Transformers提供高达24倍的吞吐量,无需任何模型架构更改。 | 103/1.1k/9.1k | 107 | |
2 | RAG | Meta | RAG 会接受输入并检索出一组相关/支撑的文档,并给出文档的来源。这些文档作为上下文和输入的原始提示词组合,送给文本生成器得到最终的输出。LLM 的参数化知识是静态的,RAG 让语言模型不用重新训练就能够获取最新的信息,基于检索生成产生可靠的输出。 | RAG | - | - |
D0-向量数据库
LLM训练、推理相关的向量数据库
# | Name | Company/Organization | Brief Introduction | Github WFS | Contributors |
---|---|---|---|---|---|
1 | Milvus | 上海Zilliz(6000万融资) | 开箱即用型,云原生向量数据库,Milvus为海量向量搜索场景而设计。Milvus不但集成了业界成熟的向量搜索技术如Faiss和SPTAG,Milvus也实现了高效的NSG图索引。 | 315/2.6k/23.9k | 228 |
2 | jina | 肖涵老师团队 | 以通用性为目标,几乎可以搜索任何内容形式(例如文本,图像,视频,音频);它的目标是在AI生产中,利用现代软件基础架构并以最佳工程实践进行构建。旨在易于使用,针对多个平台,架构和用例进行优化。 | 197/2.1k/19.1k | 172 |
3 | Chroma | Chroma | 为不同的LLM应用程序添加状态和内存,以减少幻觉并增加事实准确性。是快速增长的嵌入式数据库公司,它将与不同的LLMOps工具不断融合。 | 35/174/3.6k | 261 |
D0-LLM Cache
LLM 训练和推理中的缓存
# | Name | Company/Organization | Brief Introduction | Github WFS | Contributors |
---|---|---|---|---|---|
1 | Redis | Redis | Redis 是一种开源(BSD 许可)内存中数据结构存储,用作数据库、缓存、消息代理和流引擎。 | 2.6k/22.6k/60.4k | 667 |
2 | sqlite | sqlite | SQLite是一个进程内的库,实现了自给自足的、无服务器的、零配置的、事务性的SQL 数据库引擎。 | 95/712/4.1k | - |
3 | GPTCache | Zilliz | LLM 服务可能会表现出响应时间缓慢,尤其是在处理大量请求时。GPTCache是一个致力于构建用于存储 LLM 响应的语义缓存的项目。 | 49/254/4k | 27 |
D0-LLM logging/ops
LLM 日志
# | Name | Company/Organization | Brief Introduction | Github WFS | Contributors |
---|---|---|---|---|---|
1 | PromptLayer | PromptLayer | PromptLayer 是一个开发工具,可让您跟踪、管理和共享GPT提示工程。它充当您的代码和 OpenAI 的 python 库之间的中间件,记录您的所有 API 请求并保存相关元数据,以便在 PromptLayer 仪表板中轻松浏览和搜索。 | 4/25/275 | 3 |
2 | Helicone | Helicone | 只需一行代码即可简化GPT-3 监控。 | 7/102/843 | 12 |
3 | MLflow | Databricks | Mlflow LLM 是一个开放式机器学习平台,跟踪组件用于记录和查看 LLM 的行为。项目组件提供了可重复的简单包装格式,模型组件提供了管理和部署模型的工具 | 291/3.4k/15.8k | 593 |
4 | Weights & Biases | Weights & Biases | W&B Prompts 允许我们使用名为“Trace”的工具分析LLM的输入和输出、查看中间结果并安全地存储和管理我们的提示和LLM链配置。 | 54/571/7.4k | 156 |