大模型入门
大模型
大模型(Large Language Model)是指具有大量参数和训练数据的语言模型,能够生成高质量的文本内容。大模型通常基于深度学习技术,使用神经网络架构,如 Transformer,来处理和生成自然语言文本。
大模型本质上就是两个文件:
-
参数文件(parameters)。里面存的是模型训练完之后的所有权重,就是那个神经网络学到的所有"知识"。以 Meta 发布的 Llama 2 70B 为例——700 亿个参数,每个参数占 2 个字节(float16),总共 140GB。
-
运行代码(run file)。可以是 Python、C、或者任何编程语言写的。这段代码做的事情就是加载那些参数,跑一个神经网络的前向传播。
参数是怎么来的:压缩
大模型的核心:预测
大模型训练本质:有损压缩
大模型是如何训练出来的
造一个大模型,本质上都要搞定五件事:
- 架构(Architecture):用什么样的神经网络?目前答案几乎统一——Transformer。
- 训练算法和损失函数(Training Algorithm & Loss):怎么训?优化什么目标?
- 数据(Data):喂什么样的数据进去?
- 评估(Evaluation):怎么判断模型好不好?
- 系统工程(Systems):怎么让训练跑得动、跑得快?
分词器Tokenizer
分词器(Tokenizer)是大模型中的一个重要组件,负责将输入的文本转换为模型可以理解和处理的格式。分词器的主要功能是将文本分割成更小的单元,通常称为“词”或“子词”,并将这些单元映射到对应的数字ID,以便模型能够进行计算。
举例,对于句子 "Hello, world!",分词器可能会将其分割成以下单元:
- "Hello"
- ","
- "world"
- "!"
然后,分词器会将这些单元映射到对应的数字ID,例如:
- "Hello" -> 123
- "," -> 456
- "world" -> 789
- "!" -> 101
这样,输入的文本就被转换成了一个数字ID的序列 [123, 456, 789, 101],模型可以基于这个序列进行训练和推理。