news 2026/9/20 2:24:37

Yi 开源双语大模型从 0 到 1:安装、推理到微调的完整新手教程

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Yi 开源双语大模型从 0 到 1:安装、推理到微调的完整新手教程

Yi 开源双语大模型从 0 到 1:安装、推理到微调的完整新手教程

【免费下载链接】YiA series of large language models trained from scratch by developers @01-ai项目地址: https://gitcode.com/GitHub_Trending/yi/Yi

Yi 是 01.AI 从零训练(非 Llama 衍生品)的开源中英双语大语言模型系列,覆盖 6B / 9B / 34B 多种规格,配套官方的推理、微调、量化代码和多模态版本,让个人开发者和中小团队也能在自有硬件上跑起来一个表现不俗的开源 LLM。

  • 规格齐全:Yi-6B / 9B / 34B,另有 200K 长上下文版本和多模态的 Yi-VL 版本
  • 部署门槛低:4-bits 量化版最低 4GB 显存即可运行,消费级显卡甚至 MacBook 都能跑
  • 兼容主流生态:沿用 Llama 架构,transformers、Docker、llama.cpp 等工具开箱即用
  • 官方工具链:仓库自带推理 demo、SFT 微调脚本、AWQ/GPTQ 量化脚本
  • 许可友好:代码与权重均为 Apache 2.0,可免费用于个人、学术和商业场景

能力版图:Yi 仓库里都有什么

能力对应入口关键特性备注
Base 文本续写demo/text_generation.py支持流式输出、多卡张量并行续写模式,非对话模式
Chat 对话推理demo/web_demo.py一行命令起 Web 聊天界面,可调系统提示、温度等仅 Chat 模型支持
长上下文Yi-6B-200K / Yi-34B-200K200K token 上下文(约 40 万汉字)34B-200K 需 4 x A800 级别显存
多模态视觉问答VL/single_inference.py、VL/cli.pyYi-VL-6B / 34B,支持命令行、Web demo、OpenAI 风格 API发布时 MMMU / CMMMU 基准第一(2024 年 1 月)
量化压缩quantization/ 下 AWQ、GPTQ 脚本后训练量化,4-bits 版最低 4GB 显存精度会下降几个百分点
SFT 微调finetune/scripts/ 下run_sft_Yi_6b.sh官方微调 + 评估脚本,支持自定义 jsonl 数据6B 建议 4 卡 x 60GB+,34B 全参需 8 x 80GB
本地 CPU/低功耗推理llama.cpp + GGUF 权重(仓库提供教程)MacBook Pro(16GB / M2 Pro)可跑 2-bit 量化版参考 docs/README_llama.cpp.md

跑通最小闭环:3 步拿到第一条模型回复

先说结论:有 A800(80GB)级别的卡,走 pip / Docker 路线;只有 MacBook 这类设备,直接走 llama.cpp + GGUF 量化权重。官方给出的学习路径选择图如下:

第 1 步:拿到代码并装依赖(需 Python 3.10+)

git clone https://gitcode.com/GitHub_Trending/yi/Yi cd Yi pip install -r requirements.txt

也可以用官方 Docker 镜像替代本地环境:

docker run -it --gpus all -v <your-model-path>:/models ghcr.io/01-ai/yi:latest

第 2 步:下载模型权重。模型托管在 Hugging Face、ModelScope(魔搭)、WiseModel 等平台,选对应规格下载即可(如Yi-6B-Chat,小显存选 4-bits 量化版)。

第 3 步:写一个最小推理脚本,保存为quick_start.py并运行:

from transformers import AutoModelForCausalLM, AutoTokenizer model_path = '<your-model-path>' # 替换为本地模型路径 tokenizer = AutoTokenizer.from_pretrained(model_path, use_fast=False) model = AutoModelForCausalLM.from_pretrained( model_path, device_map="auto", torch_dtype="auto" ).eval() # 走 chat 模板,把 "hi" 发给模型 messages = [{"role": "user", "content": "hi"}] input_ids = tokenizer.apply_chat_template( messages, tokenize=True, add_generation_prompt=True, return_tensors="pt") output_ids = model.generate(input_ids.to("cuda")) response = tokenizer.decode(output_ids[0][input_ids.shape[1]:], skip_special_tokens=True) print(response) # 例如: Hello! How can I assist you today?
python quick_start.py

跑通后你就完成了 Yi 部署的最小闭环 🚀 后面所有玩法都是在这个基础上加功能。

实战示例:从 Web 界面到多模态

场景 1:一条命令拉起 Web 聊天界面

适合想快速演示或给团队试用 Chat 模型的情况。注意Web demo 只支持 Chat 模型(Base 模型不行):

python demo/web_demo.py -c <你的模型路径>

命令执行完按控制台提示的网址访问浏览器即可。Base 模型想体验多卡推理的话,用张量并行脚本(2 卡示例,来自 demo/README.md):

torchrun --nproc_per_node 2 text_generation_tp.py \ --model 01-ai/Yi-6B --max-tokens 512 --streaming

场景 2:用 Yi-VL 做多模态图片问答

Yi-VL(视觉语言模型)能"看图说话"。先按 VL/README.md 装好 VL 依赖,然后用仓库自带的示例图提问:

cd VL export PYTHONPATH=$PYTHONPATH:$(pwd) pip install -r requirements.txt CUDA_VISIBLE_DEVICES=0 python single_inference.py \ --model-path path-to-yi-vl-model \ --image-file images/cats.jpg \ --question "Describe the cats and what they are doing in detail."

上面这条命令做的事:加载 Yi-VL 权重,把cats.jpg和问题一起喂给模型,得到一段对图中三只猫行为的详细描述。想要持续对话,把入口换成 VL/cli.py;想对外提供服务,用 VL/openai_api.py 起一个 OpenAI 风格的 API。

场景 3:量化与微调,把模型"改小"或"改专"

  • 量化:显存不够时把模型压成低位。官方脚本支持 AWQ 和 GPTQ 两种方式,例如:
python quantization/awq/quant_autoawq.py \ --model /base_model --output_dir /quantized_model --trust_remote_code

更细的参数说明看 quantization/awq/README.md 和 quantization/gptq/README.md。

  • 微调:用官方 SFT 脚本在自有数据上训练(数据为prompt+chosen两字段的 jsonl,示例见 finetune/yi_example_dataset/):
bash finetune/scripts/run_sft_Yi_6b.sh # 微调 bash finetune/scripts/run_eval.sh # 对比微调前后效果

微调的完整流程(含 Docker 方式、硬件配置建议)在 finetune/README.md 里。

选型前必须知道的边界与限制

先给结论:要中文场景、要代码数学能力、要在消费级显卡上跑,Yi 值得用;要单机跑 200K 长文本、或追求极致稳定的确定性输出,要先掂量硬件和预期

显存要求(推理最低显存)

模型最低显存参考 GPU 配置
Yi-6B-Chat15 GB1 x RTX 3090 / 4090
Yi-6B-Chat-4bits4 GB1 x RTX 3060 / 4060
Yi-9B20 GB1 x RTX 4090
Yi-34B-Chat72 GB1 x A800 80GB 或 4 x RTX 4090
Yi-34B-Chat-4bits20 GB1 x RTX 3090 / 4090
Yi-34B-200K200 GB4 x A800 80GB

已知限制,官方 FAQ 里明说的

  • ⚠️ Chat 模型训练时鼓励回复多样化,副作用是幻觉、重新生成不一致、长推理中误差累积的概率更高,建议调低温度 / top_p / top_k 来换一致性
  • 量化版 benchmark 会有几个百分点的性能下降,逻辑推理类任务对这点差异尤其敏感
  • 34B 全参数微调需要 8 x 80GB 显卡(LoRA 类低资源方案成本低得多)
  • 默认上下文 4K,200K 是单独的 200K 版本模型,不是免费送的

性能底牌:官方基准中 Yi-34B-Chat 在 MMLU、CMMLU、BBH、GSM8k 等主流开源模型对比里处于第一梯队,Yi-34B 曾在 Hugging Face Open LLM Leaderboard 与 C-Eval 上登顶(数据截至 2023 年底)。

延伸阅读

  • 完整中文文档:README_CN.md
  • 推理示例(含张量并行):demo/
  • 多模态 Yi-VL 文档:VL/README.md
  • 微调指南:finetune/README.md
  • 量化脚本说明:quantization/awq/README.md、quantization/gptq/README.md
  • llama.cpp 本地部署教程:docs/README_llama.cpp.md
  • 社区教程与最佳实践合集(RAG、Function Calling、Ollama 等):Cookbook/README.md

【免费下载链接】YiA series of large language models trained from scratch by developers @01-ai项目地址: https://gitcode.com/GitHub_Trending/yi/Yi

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/9/20 2:23:36

Git面试核心知识体系:从概念到分支管理与撤销回滚

准备Git面试题最怕什么&#xff1f;怕背了一堆命令参数&#xff0c;结果面试官换个角度问就懵了。这几年我面过不少候选人&#xff0c;也帮团队做过技术招聘&#xff0c;发现Git相关的考察真不是让你背命令&#xff0c;而是看你有没有真正理解这个工具背后的设计逻辑。我梳理了…

作者头像 李华
网站建设 2026/9/20 2:23:32

OpenClaw接入飞书实战指南:从机器人配置到多维表格自动化

1. 项目概述与整体思路1.1 为什么要做OpenClaw配置飞书OpenClaw这个项目&#xff0c;本质上是一个自带工具调用能力的AI助手框架。它把大模型、消息渠道、工具函数这三层拆开&#xff0c;你可以把它想象成一个带轮子的底座&#xff0c;今天想接飞书就接飞书&#xff0c;明天想接…

作者头像 李华
网站建设 2026/9/20 2:23:30

Flexbox 布局核心属性详解:flex-grow、flex-shrink、flex-basis 实战指南

Flexbox 这套属性&#xff0c;我在项目里用了好几年&#xff0c;说实话刚开始看文档时觉得每个属性都认识&#xff0c;真到写布局的时候还是到处踩坑。尤其是 flex-grow、flex-shrink、flex-basis 这三个放一起时&#xff0c;很多人直接懵掉。这篇内容不是 MDN 的翻译稿&#x…

作者头像 李华
网站建设 2026/9/20 2:22:17

智慧园区数字化平台规划实战:从现状调研到分期落地

简介&#xff1a;面向智慧园区建设决策者、信息化规划人员与解决方案架构师的这份PPT&#xff0c;系统阐述了智慧园区数字化平台的总体规划思路与落地路径。方案以技术赋能商业、服务美好生活为主线&#xff0c;站在园区管委会、入驻企业、运营方等多元视角&#xff0c;设计了包…

作者头像 李华
网站建设 2026/9/20 2:22:00

myDV电视版:用遥控器在大屏上畅快刷抖音的实操指南

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华