Maeiee的LLM笔记
大模型是当下最热门的领域,也是最神奇的领域。GPT 技术极大地提升了我的学习能力和效率。因此,有必要拥抱这一技术,彻底搞懂里面的技术细节。在本文中,我按照自底向上的顺序,从最基础的内容学起,一步步走向高级主题。
《「Let's build GPT:from scratch, in code, spelled out.」课程笔记》
本文是我对 Andrej Karpathy 大佬手搓 GPT 的经典视频的自学笔记。19个步骤,1.2w 字,文字记录从0构建GPT!一开始看不懂,真的很崩溃。好在网上资料多,一点点钻研,最后能看懂了!这篇笔记伴随我过年,从北京到青岛再到扬州,在火车上也在钻研。感悟就是:不要怂,不要自己先被吓倒。
《Attention》
注意力机制(Attention Mechanism)的提出为了解决 seq2seq 在长序列中的遗忘问题(状态向量无法记住所有信息)。由 Dzmitry Bahdanau 于 ICLR 2015 年在《Neural Machine Translation by Jointly Learning to Align and Translate》论文中提出。
在实际的模型选择中,有的模型只使用编码器(encoder-only),有的模型只使用解码器(decoder-only),也有的两者并用。典型举例如下:
《seq2seq》
时序数据(文本、音视频)无处不在。许多场景下,需要将一种时序数据转换为另一种,如机器翻译、语音识别。seq2seq 是解决这一问题的模型,又称为 Encoder-Decoder 模型,由 Encoder(处理输入数据)和 Decoder(处理输出数据)构成。谷歌翻译2016年底,开始在生产中使用该模型。
《大模型编年史》
LLM 基础
《「Let's build GPT:from scratch, in code, spelled out.」课程笔记》
面向用户的 LLM 产品
1.1 聊天机器人
ChatGPT 横空出世时的形态,聊天机器人。
《聊天机器人产品列表》:总结了市面上的类 ChatGPT 产品。
1.1 Pdf 助手
这类工具上传 PDF 后,可以进行提问,LLM 基于 PDF 中内容进行回答。
开源项目分析:chatpdf-minimal-demo
1.2 Obsidian+LLM
0.0 Obsidian 介绍 是一款出色的个人知识库软件(第二大脑),Obsidian+LLM 将知识库层次提升了一个维度,能够对笔记进行自然语言处理索引与问答。
开源项目:
- brianpetro/obsidian-smart-connections: Chat with your notes in Obsidian! Plus,
- jmilldotdev/obsidian-gpt: Obsidian plugin for getting language model completions from GPT-3, ChatGPT, Cohere, and others
- zatevakhin/obsidian-local-llm: Obsidian Local LLM is a plugin for Obsidian that provides access to a powerful neural network, allowing users to generate text in a wide range of styles and formats using a local LLM.
- carlsverre/obsidian-libllm: Exposes LLM backed APIs like OpenAI GPT via a set of utility functions that other plugins can use.
文章:
- 10+ChatGPT插件赋能Obsidian (AI插件合集) - 经验分享 - Obsidian 中文论坛
- GPT-3 驱动下的 Obsidian AI 辅助写作插件Text Generator by 青柠学术 - Obsidian中文教程 - Obsidian Publish
- 我的第一个插件-写作助手 - 开发讨论 - Obsidian 中文论坛
1.3 知识库
本节中所说知识库,指对各种文件(富文本、电子书、音视频)进行自然语言分析,通过 Embeddings 形成一个庞大的检索库,之后进行 GPT 问答。
Obsidian+LLM 也属于这一类,只不过因为 Obsidian 软件高度绑定,才单独划分成为一节。
开源项目:
- StanGirard/quivr: 🧠 Dump all your files and chat with it using your Generative AI Second Brain using LLMs ( GPT 3.5/4, Private, Anthropic, VertexAI ) & Embeddings 🧠
- imartinez/privateGPT: Interact privately with your documents using the power of GPT, 100% privately, no data leaks
LLM 基础设施
2.1 私有模型 WebUI + API
基础设施层的 WebUI 与终端应用的聊天助手有一些区别。终端应用的聊天助手主要侧重于 Prompt Engineering,在 API 上通常直接调用 OpenAI 的 API。而本节中的私有模型 WebUI + API,主要聚焦于实现私有模型部署,并为私有模型提供一个兼容的 OpenAI API,这样,上层的聊天助手无需任何改动,可以直接对接到私有模型上来。
这里私有模型部署的项目,通常也带有一个简单的 WebUI,方便进行调试和简单的使用场景。
开源项目:
Hugging Face Transformers 库
Hugging Face 推出的 Transformers 提供了对 Transformer 的标准化工程实现,帮助 NLP 提高研发效率。极大推动了 NLP、Transformer 领域的演进速度。
Hugging Face 生态
Transformers 库
因此入门的第一步是了解什么是 Transformer 模型,建立理论基础。同时也了解 Transformers 开源项目,跑通 Transformers 的 Hello World。
《Natural Language Processing with Transformers Building Language Applications with Hugging Face》
这本书能够同时满足我们的这两个目标。它既讲解 Transformer 模型也讲解 Transformers 开源项目,并且作者就是 Hugging Face 的员工、Transformers 开源项目 的作者。
因此,我建议首先阅读该书,目标:
- 了解 Transformer模型
- 掌握 Transformers 开源项目的使用
这过程中,还涉及到 CUDA 环境、PyTorch 环境的搭建。
Transformer 模型
大语言模型的核心是 Transformer,这是由 Google 在 2017 年发布的一种大语言模型(LLM),以 ChatGPT(GPT)为代表的一系列 LLM 都是基于这个模型创建的。
本文作者:Maeiee
本文链接:Maeiee的LLM笔记
版权声明:如无特别声明,本文即为原创文章,版权归 Maeiee 所有,未经允许不得转载!
喜欢我文章的朋友请随缘打赏,鼓励我创作更多更好的作品!