fairseq2
fairseq2 是 Meta FAIR 团队全新重构的序列建模工具包,专为内容生成任务的研究与训练打造。它并非旧版 fairseq 的简单升级,而是一个从零开始、架构更清晰灵活的独立项目,旨在解决传统框架代码耦合度高、扩展困难的问题,让研究人员能完全掌控自己的项目代码库。
这款工具特别适合从事大语言模型、语音识别及多模态研究的开发者与科研人员。无论是进行指令微调、偏好优化,还是训练参数量超过 700 亿的超大模型,fairseq2 都能提供强大支持。其核心技术亮点包括:原生支持 vLLM 加速推理,具备基于 C++ 的高吞吐流式数据管道以高效处理语音数据,并完美适配现代 PyTorch 特性(如 torch.compile 和 FSDP)。此外,它通过独特的“资产卡”机制实现模型与数据集的版本化管理,并允许用户无需修改源码即可灵活注册新模型或优化器。如果你希望在多 GPU 或多节点环境下高效探索前沿算法,fairseq2 将是一个专业且友好的选择。
使用场景
某 AI 实验室团队正致力于基于 70B 参数大模型进行多语言指令微调与偏好优化,以构建高质量的垂直领域助手。
没有 fairseq2 时
- 架构耦合严重:沿用旧版框架导致代码库臃肿,团队若想引入自定义优化器或新型模型结构,往往需要直接修改核心源码,引发严重的版本冲突和维护噩梦。
- 分布式训练门槛高:在多台服务器上利用 FSDP(完全分片数据并行)训练超大模型时,需手动编写大量样板代码来处理显存分片和通信同步,调试周期长达数周。
- 数据流水线瓶颈:处理海量语音和文本混合数据时,缺乏原生高效的数据加载机制,Python 端的预处理成为 GPU 计算的瓶颈,导致昂贵的算力长期处于空闲等待状态。
- 资产版本混乱:模型权重、数据集和分词器依赖人工管理路径,缺乏统一的版本控制接口,复现实验结果时经常因文件缺失或版本不匹配而失败。
使用 fairseq2 后
- 模块化扩展轻松:借助其非侵入式架构和 setuptools 扩展机制,团队无需 Fork 主库即可独立注册自定义模型与调度器,彻底实现了业务代码与底层框架的解耦。
- 开箱即用的大规模训练:内置对 DDP、FSDP 及张量并行的原生支持,仅需几行配置即可启动跨节点 70B+ 模型训练,将环境搭建时间从数周缩短至数小时。
- 高性能流式数据处理:利用基于 C++ 编写的高吞吐数据管道 API,实现了语音解码与文本处理的流式并行,显著提升了 GPU 利用率,训练速度提升明显。
- 程序化资产管理:通过“资产卡(Asset Cards)”机制,团队能以编程方式版本化地访问所有模型与数据资源,确保了实验环境的绝对一致性和可复现性。
fairseq2 通过现代化的模块化设计与高性能工程实现,让研究人员能从繁琐的基础设施维护中解放出来,专注于核心算法创新与模型效果提升。
运行环境要求
- Linux
- macOS
- 非必需(支持 CPU 和 GPU)
- 若使用 GPU,需 NVIDIA 显卡,支持 CUDA 12.4, 12.6, 12.8 版本
- 支持多卡及多节点训练,可运行 70B+ 参数模型(具体显存取决于模型大小)
未说明

快速开始
fairseq2:FAIR 序列建模工具包 2
文档:稳定版、夜间版 | 安装:Linux、macOS、Windows、源码安装 | 贡献:贡献指南
fairseq2 是一个序列建模工具包,使研究人员能够为内容生成任务训练自定义模型。
基于 fairseq2 的近期 FAIR 研究
- Omnilingual ASR:面向 1600 多种语言的开源多语言语音识别
- LLM 的离线与在线强化学习桥梁
- R.I.P.:通过“适者生存”提示提升模型性能
- 学习事实性推理
- 多样化的偏好优化
- 大型概念模型:基于句子表示空间的语言建模
- Seamless:多语言富有表现力的流式语音翻译
fairseq2 与原始 fairseq 有何不同?
fairseq2 是一个从零开始的项目,可以被视为对原始 fairseq 的重新启动,旨在提供一个干净、模块化的 API。值得注意的是,它在设计理念上与其前身有所不同:从单体框架转变为可扩展、侵入性更小的架构,使研究人员能够独立掌控自己的项目代码库。
由于 fairseq2 是一个全新的项目,而非对原始 fairseq 的增量更新,我们有意未将其命名为 fairseq 2,以体现其独特且独立的身份。
特性
- 第一方配方:用于语言模型的 指令微调 和 偏好优化
- 使用 DDP、FSDP 和张量并行的多 GPU、多节点 训练,支持 70B+ 参数规模的模型。
- 原生支持 vLLM,并内置采样和束搜索序列生成器。
- 可通过 setuptools 的 扩展机制 进行扩展。无需分叉或分支库即可轻松注册新模型、优化器、学习率调度器和训练单元。
- 现代 PyTorch 工具链。采用组合性(即 torch.compile)、PyTorch FSDP 等相关特性。
- 基于流式的高吞吐量 数据管道 API,使用 C++ 编写,支持语音及(即将支持)视频解码。
- 提供程序化 资产卡片,用于版本控制下访问模型、数据集和分词器。
- 基于内置 结构化 API 的灵活但确定性的配置。
入门
请访问我们的 文档网站 以了解更多关于 fairseq2 的信息。
在 Linux 上安装
系统依赖
fairseq2 依赖于 libsndfile,该库可在大多数 Linux 发行版中通过系统包管理器安装。对于基于 Ubuntu 的系统,请运行:
sudo apt install libsndfile1
同样地,在 Fedora 上,请运行:
sudo dnf install libsndfile
对于其他 Linux 发行版,请查阅其文档以了解如何安装软件包。
pip
要在 Linux x86-64 上安装 fairseq2,请运行:
pip install fairseq2
此命令将安装一个与 PyPI 上托管的 PyTorch 兼容的 fairseq2 版本。
目前,我们尚未提供适用于 ARM 架构系统(如 Raspberry Pi 或 NVIDIA Jetson)的预编译包。请参阅 源码安装,了解如何在这些系统上构建和安装 fairseq2。
变体
除了 PyPI 之外,fairseq2 还在 FAIR 的软件包仓库中提供了针对不同 PyTorch 和 CUDA 版本的预构建包。下表展示了支持的组合。
| fairseq2 | PyTorch | Python | 变体* | 架构 |
|---|---|---|---|---|
HEAD |
2.9.1 |
>=3.10, <=3.12 |
cpu, cu126, cu128 |
x86_64 |
2.8.0 |
>=3.10, <=3.12 |
cpu, cu126, cu128 |
x86_64 |
|
2.7.1 |
>=3.10, <=3.12 |
cpu, cu126, cu128 |
x86_64 |
|
0.8 |
2.9.1 |
>=3.10, <=3.12 |
cpu, cu126, cu128 |
x86_64 |
2.8.0 |
>=3.10, <=3.12 |
cpu, cu126, cu128 |
x86_64 |
|
2.7.1 |
>=3.10, <=3.12 |
cpu, cu126, cu128 |
x86_64 |
|
0.7 |
2.9.0 |
>=3.10, <=3.12 |
cpu, cu126, cu128 |
x86_64 |
2.8.0 |
>=3.10, <=3.12 |
cpu, cu126, cu128 |
x86_64 |
|
2.7.1 |
>=3.10, <=3.12 |
cpu, cu126, cu128 |
x86_64 |
|
0.6 |
2.8.0 |
>=3.10, <=3.12 |
cpu, cu126, cu128 |
x86_64 |
2.7.1 |
>=3.10, <=3.12 |
cpu, cu126, cu128 |
x86_64 |
|
2.6.0 |
>=3.10, <=3.12 |
cpu, cu124 |
x86_64 |
* cuXYZ 指的是 CUDA XY.Z(例如,cu118 表示 CUDA 11.8)
要安装特定的组合,请先按照 pytorch.org 上的说明为所需的 PyTorch 版本进行安装,然后使用以下命令(以 PyTorch 2.9.1 和变体 cu126 为例):
pip install fairseq2\
--extra-index-url https://fair.pkg.atmeta.com/fairseq2/whl/pt2.9.1/cu126
[!WARNING] fairseq2 依赖于 PyTorch 的 C++ API,而不同版本之间没有 API/ABI 兼容性。这意味着你必须安装与你的 PyTorch 版本完全匹配的 fairseq2 变体。否则,你可能会遇到进程立即崩溃或随机段错误等问题。出于同样的原因,如果你升级了 PyTorch 版本,你也必须同时升级 fairseq2 的安装。
夜间构建
对于 Linux 系统,我们还在 FAIR 的软件包仓库中提供了夜间构建版本。支持的变体与上述“变体”部分列出的相同。在安装好所需的 PyTorch 版本后,你可以使用以下命令来安装对应的夜间构建包(以 PyTorch 2.9.1 和变体 cu128 为例):
pip install fairseq2\
--pre --extra-index-url https://fair.pkg.atmeta.com/fairseq2/whl/nightly/pt2.9.1/cu128
在 macOS 上安装
系统依赖
fairseq2 依赖于 libsndfile,可以通过 Homebrew 安装:
brew install libsndfile
pip
要在基于 ARM64(即 Apple Silicon)的 Mac 计算机上安装 fairseq2,请运行:
pip install fairseq2
该命令将安装一个与 PyPI 上托管的 PyTorch 兼容的 fairseq2 版本。
目前,我们尚未提供适用于 Intel 架构 Mac 计算机的预构建包。请参阅 从源代码安装,了解如何在 Intel 机器上构建和安装 fairseq2。
变体
除了 PyPI 之外,fairseq2 还在 FAIR 的软件包仓库中提供了针对不同 PyTorch 版本的预构建包。下表展示了支持的组合。
| fairseq2 | PyTorch | Python | 架构 |
|---|---|---|---|
HEAD |
2.9.1 |
>=3.10, <=3.12 |
arm64 |
0.8 |
2.9.1 |
>=3.10, <=3.12 |
arm64 |
0.7 |
2.9.0 |
>=3.10, <=3.12 |
arm64 |
0.6 |
2.8.0 |
>=3.10, <=3.12 |
arm64 |
2.7.1 |
>=3.10, <=3.12 |
arm64 |
要安装特定的组合,请先按照 pytorch.org 上的说明为所需的 PyTorch 版本进行安装,然后使用以下命令(以 PyTorch 2.9.1 为例):
pip install fairseq2\
--extra-index-url https://fair.pkg.atmeta.com/fairseq2/whl/pt2.9.1/cpu
[!WARNING] fairseq2 依赖于 PyTorch 的 C++ API,而不同版本之间没有 API/ABI 兼容性。这意味着您必须安装与您的 PyTorch 版本完全匹配的 fairseq2 变体。否则,您可能会遇到进程立即崩溃或无故段错误等问题。出于同样的原因,如果您升级了 PyTorch 版本,也必须同时升级 fairseq2 的安装。
夜间构建
对于 macOS,我们还在 FAIR 的软件包仓库中托管夜间构建版本。支持的变体与上述“变体”部分列出的相同。在安装好所需的 PyTorch 版本后,您可以使用以下命令来安装对应的夜间构建包(以 PyTorch 2.9.1 为例):
pip install fairseq2\
--pre --extra-index-url https://fair.pkg.atmeta.com/fairseq2/whl/nightly/pt2.9.1/cpu
在 Windows 上安装
fairseq2 没有对 Windows 的原生支持,并且在可预见的未来也没有计划支持。不过,您可以通过 Windows Subsystem for Linux(即 WSL),并在 WSL 2 中获得完整的 CUDA 支持来使用 fairseq2。请按照在 Linux 上安装一节中的说明进行基于 WSL 的安装。
从源代码安装
请参阅 这里。
贡献
我们始终欢迎对 fairseq2 的贡献!请参考 贡献指南,了解如何格式化、测试和提交您的工作。
引用 fairseq2
如果您在研究中使用了 fairseq2 并希望引用它,请使用以下 BibTeX 条目。
@software{balioglu2023fairseq2,
author = {Can Balioglu and Alexander Erben and Martin Gleize and Artyom Kozhevnikov and Ilia Kulikov and Julien Yao},
title = {fairseq2},
url = {http://github.com/facebookresearch/fairseq2},
year = {2023},
}
许可证
本项目采用 MIT 许可证,详情请参见 LICENSE 文件。
版本历史
v0.8.12026/03/26v0.8.02026/03/26v0.7.02025/11/05v0.6.02025/10/30v0.5.22025/09/09v0.5.12025/09/05v0.4.42025/02/24v0.4.32025/02/16v0.4.02025/02/08v0.2.02023/11/29v0.1.12023/09/07v0.1.02023/08/22常见问题
相似工具推荐
openclaw
OpenClaw 是一款专为个人打造的本地化 AI 助手,旨在让你在自己的设备上拥有完全可控的智能伙伴。它打破了传统 AI 助手局限于特定网页或应用的束缚,能够直接接入你日常使用的各类通讯渠道,包括微信、WhatsApp、Telegram、Discord、iMessage 等数十种平台。无论你在哪个聊天软件中发送消息,OpenClaw 都能即时响应,甚至支持在 macOS、iOS 和 Android 设备上进行语音交互,并提供实时的画布渲染功能供你操控。 这款工具主要解决了用户对数据隐私、响应速度以及“始终在线”体验的需求。通过将 AI 部署在本地,用户无需依赖云端服务即可享受快速、私密的智能辅助,真正实现了“你的数据,你做主”。其独特的技术亮点在于强大的网关架构,将控制平面与核心助手分离,确保跨平台通信的流畅性与扩展性。 OpenClaw 非常适合希望构建个性化工作流的技术爱好者、开发者,以及注重隐私保护且不愿被单一生态绑定的普通用户。只要具备基础的终端操作能力(支持 macOS、Linux 及 Windows WSL2),即可通过简单的命令行引导完成部署。如果你渴望拥有一个懂你
stable-diffusion-webui
stable-diffusion-webui 是一个基于 Gradio 构建的网页版操作界面,旨在让用户能够轻松地在本地运行和使用强大的 Stable Diffusion 图像生成模型。它解决了原始模型依赖命令行、操作门槛高且功能分散的痛点,将复杂的 AI 绘图流程整合进一个直观易用的图形化平台。 无论是希望快速上手的普通创作者、需要精细控制画面细节的设计师,还是想要深入探索模型潜力的开发者与研究人员,都能从中获益。其核心亮点在于极高的功能丰富度:不仅支持文生图、图生图、局部重绘(Inpainting)和外绘(Outpainting)等基础模式,还独创了注意力机制调整、提示词矩阵、负向提示词以及“高清修复”等高级功能。此外,它内置了 GFPGAN 和 CodeFormer 等人脸修复工具,支持多种神经网络放大算法,并允许用户通过插件系统无限扩展能力。即使是显存有限的设备,stable-diffusion-webui 也提供了相应的优化选项,让高质量的 AI 艺术创作变得触手可及。
everything-claude-code
everything-claude-code 是一套专为 AI 编程助手(如 Claude Code、Codex、Cursor 等)打造的高性能优化系统。它不仅仅是一组配置文件,而是一个经过长期实战打磨的完整框架,旨在解决 AI 代理在实际开发中面临的效率低下、记忆丢失、安全隐患及缺乏持续学习能力等核心痛点。 通过引入技能模块化、直觉增强、记忆持久化机制以及内置的安全扫描功能,everything-claude-code 能显著提升 AI 在复杂任务中的表现,帮助开发者构建更稳定、更智能的生产级 AI 代理。其独特的“研究优先”开发理念和针对 Token 消耗的优化策略,使得模型响应更快、成本更低,同时有效防御潜在的攻击向量。 这套工具特别适合软件开发者、AI 研究人员以及希望深度定制 AI 工作流的技术团队使用。无论您是在构建大型代码库,还是需要 AI 协助进行安全审计与自动化测试,everything-claude-code 都能提供强大的底层支持。作为一个曾荣获 Anthropic 黑客大奖的开源项目,它融合了多语言支持与丰富的实战钩子(hooks),让 AI 真正成长为懂上
ComfyUI
ComfyUI 是一款功能强大且高度模块化的视觉 AI 引擎,专为设计和执行复杂的 Stable Diffusion 图像生成流程而打造。它摒弃了传统的代码编写模式,采用直观的节点式流程图界面,让用户通过连接不同的功能模块即可构建个性化的生成管线。 这一设计巧妙解决了高级 AI 绘图工作流配置复杂、灵活性不足的痛点。用户无需具备编程背景,也能自由组合模型、调整参数并实时预览效果,轻松实现从基础文生图到多步骤高清修复等各类复杂任务。ComfyUI 拥有极佳的兼容性,不仅支持 Windows、macOS 和 Linux 全平台,还广泛适配 NVIDIA、AMD、Intel 及苹果 Silicon 等多种硬件架构,并率先支持 SDXL、Flux、SD3 等前沿模型。 无论是希望深入探索算法潜力的研究人员和开发者,还是追求极致创作自由度的设计师与资深 AI 绘画爱好者,ComfyUI 都能提供强大的支持。其独特的模块化架构允许社区不断扩展新功能,使其成为当前最灵活、生态最丰富的开源扩散模型工具之一,帮助用户将创意高效转化为现实。
gemini-cli
gemini-cli 是一款由谷歌推出的开源 AI 命令行工具,它将强大的 Gemini 大模型能力直接集成到用户的终端环境中。对于习惯在命令行工作的开发者而言,它提供了一条从输入提示词到获取模型响应的最短路径,无需切换窗口即可享受智能辅助。 这款工具主要解决了开发过程中频繁上下文切换的痛点,让用户能在熟悉的终端界面内直接完成代码理解、生成、调试以及自动化运维任务。无论是查询大型代码库、根据草图生成应用,还是执行复杂的 Git 操作,gemini-cli 都能通过自然语言指令高效处理。 它特别适合广大软件工程师、DevOps 人员及技术研究人员使用。其核心亮点包括支持高达 100 万 token 的超长上下文窗口,具备出色的逻辑推理能力;内置 Google 搜索、文件操作及 Shell 命令执行等实用工具;更独特的是,它支持 MCP(模型上下文协议),允许用户灵活扩展自定义集成,连接如图像生成等外部能力。此外,个人谷歌账号即可享受免费的额度支持,且项目基于 Apache 2.0 协议完全开源,是提升终端工作效率的理想助手。
markitdown
MarkItDown 是一款由微软 AutoGen 团队打造的轻量级 Python 工具,专为将各类文件高效转换为 Markdown 格式而设计。它支持 PDF、Word、Excel、PPT、图片(含 OCR)、音频(含语音转录)、HTML 乃至 YouTube 链接等多种格式的解析,能够精准提取文档中的标题、列表、表格和链接等关键结构信息。 在人工智能应用日益普及的今天,大语言模型(LLM)虽擅长处理文本,却难以直接读取复杂的二进制办公文档。MarkItDown 恰好解决了这一痛点,它将非结构化或半结构化的文件转化为模型“原生理解”且 Token 效率极高的 Markdown 格式,成为连接本地文件与 AI 分析 pipeline 的理想桥梁。此外,它还提供了 MCP(模型上下文协议)服务器,可无缝集成到 Claude Desktop 等 LLM 应用中。 这款工具特别适合开发者、数据科学家及 AI 研究人员使用,尤其是那些需要构建文档检索增强生成(RAG)系统、进行批量文本分析或希望让 AI 助手直接“阅读”本地文件的用户。虽然生成的内容也具备一定可读性,但其核心优势在于为机器