分类目录归档:技术

AI大模型

前言

LLM 当前可以说渗透到了工作、生活中的方方面面,但是我一直都只用过在线提供的 LLM,钱包实在负荷不住了(说的就是你 Copilot),本文主要记录了一个纯小白如何摸索本地部署 LLM 并在编写代码的工作流中进行应用。

硬件环境,以下是我尝试比较「可用」模型尺寸与环境:

  • 3B 模型:Ubuntu22.04 + GTX 1060 6G
  • 13B 模型:Macos + M1 Max 32G

基本概念

文章编排其实与我实际摸索顺序是有区别的,我一向习惯是不求甚解先玩起来再说,而本节主要介绍一些在使用大模型过程中会遇到的特别概念,感觉太枯燥了可以跳过,后边遇到了回来再看也行。

LLM

大语言模型(英文:Large Language Model,缩写 LLM)是当前 AI 实际的“大脑🧠”。我们可以在本地运行并使用的模型主要是 Llama 2 (meta.com),其由 Meta 提供其是 Llama 的继任者,其他在网上可以看到的绝大多数模型都是基于 Llama v1/2 的 “微调”(Fine-Tune)或修改版本。

而由 Mistral AI | Frontier AI in your hands 发布的 Mistral 则是新晋的挑战者,当前在非代码微调领域也在快速发展,后续肯定能看到很多衍生版本。

Fine-Tune 微调

微调的目的是通过给模型增加更多某个领域数据使得其在某些事上做的更好,可以是对话、翻译、数学等等领域,有时看到很多不同名称的模型很多都是「微调」出来的版本,例如由 Meta 提供的 codellamaa models (github.com) 就是基于 Llama 2 微调的编码助手模型。

Context 语境

Context 我们可以理解为语境或者是上下文,由于 LLM 是无状态保留的它不会记得历史对话,因此你需要将历史对话都要输入给它才能使其理解并给出正确的回复。例如你在对话开始给 LLM 设定了一个角色「你是一个全栈工程师尤其对于 C++ 精通」,在后续对话中需要你讲这个角色信息都要发送给 LLM,否则它会忘记自己的角色。

LLMs Size

模型有大小之分,通常会看到最多的数字是 3B、7B、13B、20B、30B、33B、34B、65B、70B。「B」表示 billions of parameters 即十亿参数单位,通常认为参数越多模型的效果则会越好,例如 ChatGPT4 则宣称有 100 万亿。如下图 Llama2 提供了 7B、13B、70B 尺寸的模型: