跳转到内容

输入关键词开始搜索

    资料摘要:personal chatgpt 14 — llama2 introduction 及 fine tune llama2(guanaco dataset)

    视频摘要更新 2026-08-02置信度 high待阅读原始来源 ↗#深度#大模型#课程#personal-chatgpt

    本讲由真实视频转录与作者 notebook/代码交叉整理。原始层:🔒 带时间戳视频转录;课程总览:personal chatgpt — LLMs 实践系列

    本讲先梳理 Llama 2 的模型家族与 Hugging Face 使用方式,再展示 7B Chat 模型的中英文文本生成,最后给出用 TRL 脚本、OpenAssistant Guanaco 数据、4-bit 加载和 PEFT/LoRA 微调 7B 基座模型的命令与 optimizer step 估算。

    课程记录 Llama 2 支持 4K context,并按参数规模(7B、13B、70B)、是否 Hugging Face 格式、是否 Chat 版组合出 12 个条目。这里的“12 个版本”是课程对仓库命名组合的教学归纳,不代表所有后续发布变体。

    Notebook 使用 meta-llama/Llama-2-7b-chat-hf,通过 transformers.pipeline("text-generation")、FP16 和 device_map="auto" 加载。示例先用英文影视推荐,再用中文电影推荐,课程观察到当时模型的中文能力有限。

    训练数据为 timdettmers/openassistant-guanaco,Notebook 保存显示训练 split 有 9,846 行。微调命令调用当时 TRL 仓库的 sft_trainer.py,启用 4-bit、PEFT、batch size 16、梯度累积 2。

    Notebook 按 3 epochs、单卡、batch 16、累计 2 计算:

    optimizer steps=9846×316×2×1923.06\text{optimizer steps}=\frac{9846\times 3}{16\times 2\times 1}\approx 923.06

    课程/Notebook 将其口述或取整为约 924 步。实际末尾 batch、dataloader 丢弃策略和分布式 world size 会影响精确值。

    Terminal window
    python trl/examples/scripts/sft_trainer.py \
    --model_name meta-llama/Llama-2-7b-hf \
    --dataset_name timdettmers/openassistant-guanaco \
    --load_in_4bit \
    --use_peft \
    --batch_size 16 \
    --gradient_accumulation_steps 2
    pipeline = transformers.pipeline(
    "text-generation",
    model="meta-llama/Llama-2-7b-chat-hf",
    torch_dtype=torch.float16,
    device_map="auto",
    )
    时间 内容
    01:03 4K context
    01:25 7B/13B/70B、HF/原格式、Chat/基座的版本组合
    03:44 查看约 6.7B 参数规模
    04:04 英文生成示例
    05:57 中文生成示例与能力观察
    08:03 数据规模与训练步数估算
    10:48 4-bit 加载
    13:05 PEFT/LoRA 配置来源
    16:14 启动训练并观察运行状态
    • 运行标签:conditional。 Llama 2 权重需要接受许可/具备访问权限;7B FP16 或 4-bit 加载需要足够的 GPU/CPU 内存及兼容 bitsandbytes 环境。
    • Notebook 的推理部分会下载并加载大模型;训练部分以 shell 命令和数据查看为主,没有在当前 Notebook 中保存完整 5 小时训练结果。
    • lvwerra/trl 仓库路径、脚本名和 CLI 参数属于当时版本,当前版本不保证原样存在。
    • 本地代理地址硬编码为 127.0.0.1:7890
    • 课程口述 4090 训练约 5 小时是特定环境经验值,不应当作普遍基准。
    • 承接第 12、13 讲: 把 SFTTrainer、4-bit、LoRA、梯度累积等资源优化组合应用到 Llama 2。
    • 引出第 15 讲: 从 Hugging Face 封装转向 Meta 原始 Llama 2 源码、权重与推理入口。
    • 连接第 16 讲: 本讲直接使用 TRL 的 SFT 脚本,第 16 讲解释 TRL 还提供 Reward Model 与 PPOTrainer。
    1. 课程所说的 12 个 Llama 2 条目由哪三个二元/多元维度组合而来?
    2. 基座版与 Chat 版的训练目标和预期用法有什么差异?
    3. 9,846 条数据、3 epochs、batch 16、累计 2 时,为什么约为 924 次 optimizer update?
    4. 4-bit 加载和 PEFT 分别作用于哪一层资源开销?
    5. 为什么课程中的 5 小时训练时间不能直接迁移到其他硬件?
    • 滴答清单抓取时学习状态:已完成
    • 视频正文采用自动语音识别;关键术语已用标题、notebook 与源码校正,无法确认的口语细节不扩写。
    • notebook 未执行的 CUDA、权重下载、训练或外部 API 单元,不表述为已复现实验。