GitHub 热门项目:lingua

2026-05-28 1 阅读 GitHub Trending
GitHub 项目:lingua 仓库地址:https://github.com/facebookresearch/lingua 星级:4762 | 作者:facebookresearch 项目描述:Meta Lingua:一个精益、高效且易于破解的代码库,用于研究法学硕士。 =================================================== 自述文件内容: # 元语言 **Mathurin Videau***、**Badr Youbi Idrissi***、Daniel Haziza、Luca Wehrstedt、Jade Copet、Olivier Teytaud、David Lopez-Paz。 ***同等且主要的贡献** Meta Lingua 是一个最小且快速的法学硕士培训和推理库,专为研究而设计。 Meta Lingua 使用易于修改的 PyTorch 组件来尝试新的架构、损失、数据等。我们的目标是使该代码能够实现端到端的训练、推理和评估,并提供工具来更好地理解速度和稳定性。虽然 Meta Lingua 目前正在开发中,但我们为您提供了多个“应用程序”来展示如何使用此代码库。

## 快速开始 以下命令启动 SLURM 作业,为 Meta Lingua 创建环境。 环境创建大约需要 5 分钟(不计算下载次数)。 ````bash git 克隆 https://github.com/facebookresearch/lingua 语言CD bash 设置/create_env.sh # 或者如果您有权访问 SLURM 集群 sbatch 设置/create_env.sh ```` 完成后,您可以激活环境 ````bash conda 激活 lingua_<日期> ```` 使用提供的脚本从 Huggingface 下载并准备数据(在“fineweb_edu”、“fineweb_edu_10bt”或“dclm_baseline_1.0”中)。 此命令将下载“fineweb_edu”并准备在“./data”目录中进行训练,指定将分配的“terashuf”(用于洗牌样本的工具)内存量。默认情况下,块的数量 (`nchunks`) 为 32。如果您运行的 GPU 数量少于 32 个,建议将 `nchunks` 设置为 1 或将 `nchunks` 与 GPU 数量匹配 (`nchunks` = NGPU)。有关更多详细信息,请参阅[此处](https://github.com/facebookresearch/lingua/issues/55#issuecomment-2483643076)。 ````bash python setup/download_prepare_hf_data.py Fineweb_edu --data_dir ./data --seed 42 --nchunks ```` 要下载分词器(此处为 llama3),请使用以下脚本: ````bash python setup/download_tokenizer.py llama3 --api_key ```` 现在启动调试作业来检查一切是否正常。 **提供的配置是模板,您需要调整它们才能工作(更改`dump_dir`,`data.root_dir`,`data.tokenizer.path`等...)** ````bash #凳子代表SLURM工具! python -m lingua.stool script=apps.main.train config=apps/main/configs/debug.yaml 节点=1 分区=<分区> # 如果你想在本地启动,你可以使用 torchrun torchrun --nproc-per-node 8 -m apps.main.train config=apps/main/configs/debug.yaml # 或者您也可以在 1 个 GPU 上启动 python -m apps.main.train config=apps/main/configs/debug.yaml ```` 使用“stool”时,如果作业崩溃,可以使用 sbatch 重新启动它: ````bash sbatch 路径/to/dump_dir/submit.slurm ```` ## 训练结果 我们在许多下游任务上获得了非常强大的性能,并且与 [DCLM 基线 1.0](https://arxiv.org/abs/2406.11794) 的性能相匹配。 ### 60B DCLM 代币上的 1B 模型 | n