如何在 PyTorch 中可视化和理解 GPU 显存占用
Hugging Face 博客给出用 PyTorch 的 torch.cuda.memory 记录并可视化 GPU 显存占用的完整方法,把 profile.pkl 拖入 pytorch.org/memory_viz 即可看到显存随时间变化的图形。
推荐理由:用 PyTorch 自带的内存快照工具逐步拆解训练显存构成,并给出可套用的估算公式。
训练侧的门道:数据集构建、合成数据、预训练与后训练方法、算力与训练成本。
Hugging Face 博客给出用 PyTorch 的 torch.cuda.memory 记录并可视化 GPU 显存占用的完整方法,把 profile.pkl 拖入 pytorch.org/memory_viz 即可看到显存随时间变化的图形。
推荐理由:用 PyTorch 自带的内存快照工具逐步拆解训练显存构成,并给出可套用的估算公式。
Cohere 研究实验室 Cohere For AI 发布 Aya Expanse 系列多语言模型,包含 8B 和 32B 两个参数规模,并以开放权重形式发布。
推荐理由:原文给出 Aya Expanse 8B/32B 的对比胜率与技术管线细节,可了解多语言训练中数据套利与模型合并的具体做法。
Google 发布 Gemma 2 系列开源大语言模型,包含 9B 和 27B 两个尺寸的基础版与指令微调版,共 4 个开放权重模型,上下文长度 8K token。
推荐理由:详细拆解 Gemma 2 的滑动窗口注意力、软上限与蒸馏等改动,可作为理解这代开源模型训练思路的参考。
Hugging Face 发布 StarCoder2-15B-Instruct-v0.1,这是首个用完全可许可且透明的管线自对齐训练的代码大语言模型。它用 StarCoder2-15B 自行生成数千条指令-响应对再微调自身,不使用人工标注或大型闭源模型的蒸馏数据,在 HumanEval 上取得 72.6 分,超过 CodeLlama-70B-Instruct 的 72.0 分。
推荐理由:原文公开了完全透明的自对齐数据管线,读者可据此了解不依赖 GPT-4 蒸馏也能训练代码指令模型。
Hugging Face 发布 Cosmopedia,一个由 Mixtral-8x7B-Instruct-v0.1 生成的合成数据集,包含超 3000 万个文件和 250 亿 token,目标是复现 Phi-1.5 的训练数据。
推荐理由:Hugging Face 公开了复现 Phi 合成预训练数据的完整流程、数据集与 1B 模型,读者可据此理解大规模合成数据的提示词设计与工程细节。
Google 发布开源 LLM 家族 Gemma,包含 2B 和 7B 两个尺寸,各有基础版与指令微调版共 4 个模型,基于 Gemini 打造,上下文长度 8K tokens,可在消费级 GPU、TPU 甚至 CPU 与端侧设备上运行。
推荐理由:Google 开源 Gemma 2B 与 7B 双尺寸模型,本文给出 8K 上下文、消费级硬件运行及与 Transformers 生态的完整集成路径。
Hugging Face 博客以金融新闻投资者情绪识别为例,展示用开源 Mixtral-8x7B-Instruct-v0.1 生成合成数据、再用 AutoTrain 蒸馏出约 0.13B 参数的 RoBERTa 分类模型的流程。
推荐理由:以金融情绪识别为例,给出用开源 LLM 生成合成数据再蒸馏小模型的可复用流程与成本对比。
Hugging Face 公开了一套用开源模型做 Constitutional AI 的端到端配方,覆盖自我批判、修订、SFT 与 DPO 全流程,并发布了 Anthropic constitution 与 Grok 风格两个版本的 CAI 数据集,以及基于 Mistral-7B 的 DPO/SFT 模型。
推荐理由:Hugging Face 公开了一套在开源模型上做 Constitutional AI 的完整配方,包括数据集、模型与集群推理工具,便于复现细粒度对齐。
Hugging Face 博客介绍社区工具 Unsloth,声称 LLM 微调速度提升 2 倍、显存占用降低 40% 且相对标准 QLoRA 精度 0% 下降。
推荐理由:原文给出了 Unsloth 与 TRL 的接入代码和 59 次基准数据,读者可据此判断自己微调任务的加速与显存收益。
Hugging Face 发布 SDXL LoRA 高级训练脚本,把 Pivotal Tuning 与 Prodigy 优化器等社区 SOTA 做法整合进 diffusers,并提供 Colab 与带 UI 的训练 Space。
推荐理由:整理 SDXL Dreambooth LoRA 微调的社区最佳实践,包括 Pivotal Tuning、Prodigy 优化器与数据集构建等可复用方法。
Hugging Face 博客介绍了 HugCoder 的构建流程,用 top 10 公开仓库代码微调 StarCoder,使其补全自家代码库。
推荐理由:完整给出从代码数据采集到 QLoRA 微调 StarCoder、再接入 VS Code 的全流程与成本对比,可迁移到自有代码库。
TII 发布 1800 亿参数的 Falcon 180B,并在 Hugging Face 上线 base 与 chat 版本,训练使用 3.5 万亿 token,共约 7,000,000 GPU 小时。
推荐理由:TII 的 Falcon 180B 登陆 Hugging Face,原文给出与 Llama 2、PaLM-2 的评测对比和显存、量化配置门槛。
Hugging Face 的 TRL 库现已支持 Direct Preference Optimization(DPO),可直接用偏好数据优化语言模型,省去奖励模型和 RL 优化两步。
推荐理由:TRL 官方给出 DPO 原理与可复用代码,读者可照着在自有偏好数据上完成对齐训练。
Hugging Face 发布博客介绍阿布扎比 TII 以 Apache 2.0 开源的 Falcon 系列模型,包括 Falcon-40B 和 Falcon-7B 及其 Instruct 版本,并给出在 HF 生态中运行与微调的具体做法。
推荐理由:HF 官方给出 Falcon 40B/7B 从推理、量化到 QLoRA 微调的可复用命令与显存要求,便于在自己硬件上复现。
Hugging Face 与 bitsandbytes 合作,在 transformers 中支持 4-bit 量化加载模型,覆盖文本、视觉、多模态等大多数 HF 模型,并可在 4bit 模型上训练 LoRA 适配器。
推荐理由:Hugging Face 与 bitsandbytes 集成在 transformers 中开放 4-bit 量化,并给出可直接复用的加载与微调配置。
Hugging Face 联合 EleutherAI 和 Stability AI 委托 Trail of Bits 对 safetensors 库做了外部安全审计,未发现可导致任意代码执行的关键安全漏洞,同时修复了格式规范中的若干不精确之处以及允许 polyglot 文件缺失验证的问题。
推荐理由:安全审计结果支撑 safetensors 成为 transformers 默认依赖与默认保存格式,并给出后续迁移节奏。
Hugging Face 基于 BigCode 的 16B 参数代码模型 StarCoder,用 OpenAssistant 的约 2.1 万条英文对话微调出对话式编程助手 StarChat,并公开代码、数据集与模型。
推荐理由:文章公开了 StarChat 的微调流程、数据格式与评测结果,可判断代码模型转对话助手的具体做法。
Hugging Face 发布 StackLLaMA 模型及完整训练流程,用 SFT、奖励模型和 RLHF 三步训练 LLaMA 在 Stack Exchange 上答题,并开源了基于 TRL 库的全部训练管线。
推荐理由:原文完整披露了 RLHF 三步训练流程和踩坑细节,读者可据此复现或在单卡上跑起自己的对齐实验。
Hugging Face 官方发布 trl 与 peft 的集成,让使用 RLHF 的大语言模型微调更易上手。
推荐理由:原文给出 trl 与 peft 集成后在 24GB 消费级 GPU 上微调 20B 参数模型的完整路径,便于读者评估自身显存条件下的可行性。
Hugging Face 发布 PEFT 库,通过只微调少量额外参数并冻结预训练模型大部分参数来降低计算与存储开销,并已集成 Transformers 和 Accelerate。
推荐理由:官方给出 PEFT 库支持的方法与消费级硬件训练示例,可用于判断低显存微调方案的可行性。