大模型基础概念与本地部署实战指南
随着 ChatGPT 的爆发,大语言模型(Large Language Model,简称 LLM)已成为人工智能领域的核心 buzzword。虽然大多数用户直接使用云端产品即可满足需求,但对于开发者而言,理解其原理并在本地运行模型具有极高的研究价值。本文将系统介绍大模型的核心概念、技术架构、量化压缩方案以及基于 macOS 和 Linux 环境的本地部署实战。
一、什么是大模型
通俗来讲,大模型是通过输入海量语料数据,让计算机获得类似人类的'思考'能力,使其能够理解自然语言,并执行文本生成、推理问答、对话交互、文档摘要等任务。
我们可以用'上学参加工作'的过程来类比大模型的训练与使用:
- 找学校(算力基础):训练 LLM 需要巨大的计算资源,通常依赖高性能 GPU 集群。只有拥有充足算力的机构才能训练出大规模模型。
- 确定教材(预训练数据):大模型的数据量极大,通常需要数千亿个 Token(词元)作为输入,这是模型智能的基础。
- 找老师(算法架构):即采用何种算法(如 Transformer)来讲解'书本'内容,使模型能更好理解 Token 之间的上下文关系。
- 就业指导(微调 Fine-tuning):为了让模型胜任特定行业或任务,需要在通用知识基础上进行有监督的微调。
- 搬砖(推理 Inference):正式干活阶段,如翻译、问答等,在模型中称为推导过程。
Token 与 Embedding
在 LLM 中,Token被视为模型处理和生成的基本文本单位。它们可以代表单个字符、单词、子单词甚至更大的语义单元,具体取决于分词方法(Tokenization)。Token 是原始文本与数字表示之间的桥梁。
例如,句子 "The cat sat on the mat" 会被分割为 "The", "cat", "sat", "on", "the", "mat",并映射到词汇表中的 ID:
| Token | ID |
|---|---|
| The | 345 |
| cat | 1256 |
| sat | 1726 |
| on | 890 |
| the | 345 |
| mat | 4521 |
为了便于计算机处理,这些 ID 会被进一步转换为稠密矩阵向量,这个过程称之为 Embedding。常见的 Embedding 算法包括:
- 基于统计:Word2Vec(通过上下文统计学习词向量)、GloVe(基于词共现统计)。
- 基于深度网络:CNN(卷积网络)、RNN/LSTM(序列模型)。
- 基于神经网络:BERT(Transformer + 掩码语言建模)、Doc2Vec。
以 Transformer 为代表的大模型采用**自注意力机制(Self-attention)**来学习不同 Token 之间的依赖关系,生成高质量的 Embedding 表示。
二、发展历程与主流架构
这一切的起源是 2017 年发布的论文 Attention Is All You Need。此后,基于大量语料的预训练模型百花齐放:
- BERT (Bidirectional Encoder Representations from Transformers):Google 于 2018 年提出。创新性地双向预训练并行获取上下文语义信息,开创了预训练语言表示范式。参数规模通常在 110M 到 340M。


