❤️ 如果你也关注 AI 的发展现状,且对 AI 应用开发非常感兴趣,我会每日跟你分享最新的 AI 资讯和开源应用,也会不定期分享自己的想法和开源实例,欢迎关注我哦!
🥦 微信公众号|搜一搜:蚝油菜花 🥦
🚀 快速阅读
平台功能:支持多种机器学习任务,包括大型语言模型微调、文本分类、图像分类等。
用户友好:提供无需编码的界面,非技术用户也能轻松训练模型。
自动化:集成模型训练的最佳实践,自动处理超参数调整、模型验证等复杂任务。
正文(附运行示例)
AutoTrain 是什么
AutoTrain(AutoTrain Advanced)是 Hugging Face 推出的开源无代码平台,能简化最先进模型的训练过程。支持用户无需编写代码即可创建、微调和部署自己的 AI 模型,只需上传数据即可训练自定义机器学习模型。
AutoTrain 提供简单的界面,支持用户无需编码知识即可训练模型,自动处理训练中的复杂任务,如超参数调整和模型验证。
AutoTrain 的主要功能
- 多任务支持:支持多种机器学习任务,包括大型语言模型(LLM)微调、文本分类/回归、标记分类、序列到序列任务、句子变换器微调、视觉语言模型(VLM)微调、图像分类/回归以及表格数据的分类和回归。
- 简化训练流程:提供无需编码的界面,非技术用户也能轻松训练模型。
- 自动化最佳实践:集成模型训练的最佳实践,包括超参数调整、模型验证、分布式训练、监控和维护。
- 数据集处理:提供数据集处理器,负责数据的准备和预处理,确保数据格式适合训练,减少错误。
- 分布式训练支持:支持在多 GPU 上进行分布式训练,无需对代码库进行大量修改。
AutoTrain 的技术原理
- 项目配置管理:基于项目配置组件,用户设置任务类型、数据集、模型和其他训练参数,确保所有必要的配置在训练开始前就绪。
- 数据集预处理:数据集处理器组件负责将数据转换为适合训练的格式,包括文本、图像和表格数据的清洗和转换。
- 训练循环管理:训练器组件管理训练循环,计算损失和指标,优化模型参数。
- 分布式训练:用 Hugging Face 的 Accelerate 库,AutoTrain 支持在多个 GPU 上无缝进行分布式训练。
- 监控与日志记录:集成 TensorBoard 等工具,监控训练进度和性能指标,同时记录训练日志以供后续分析。
如何运行 AutoTrain
本地安装
你可以通过 PIP 安装 AutoTrain-Advanced Python 包。请确保你使用的是 Python 3.10 或更高版本。
pip install autotrain-advanced
确保你已经安装了 git lfs。你可以在这里找到安装说明:https://github.com/git-lfs/git-lfs/wiki/Installation
你还需要安装 torch、torchaudio 和 torchvision。
最好的运行方式是在 conda 环境中。你可以使用以下命令创建一个新的 conda 环境:
conda create -n autotrain python=3.10
conda activate autotrain
pip install autotrain-advanced
conda install pytorch torchvision torchaudio pytorch-cuda=12.1 -c pytorch -c nvidia
conda install -c "nvidia/label/cuda-12.1.0" cuda-nvcc
完成后,你可以使用以下命令启动应用程序:
autotrain app --port 8080 --host 127.0.0.1
如果你不喜欢使用 UI,你可以使用 AutoTrain 配置文件通过命令行进行训练。
要使用配置文件进行训练,你可以使用以下命令:
autotrain --config <path_to_config_file>
你可以在该仓库的 configs
目录中找到示例配置文件。
例如,以下是一个用于微调 SmolLM2 的配置文件示例:
task: llm-sft
base_model: HuggingFaceTB/SmolLM2-1.7B-Instruct
project_name: autotrain-smollm2-finetune
log: tensorboard
backend: local
data:
path: HuggingFaceH4/no_robots
train_split: train
valid_split: null
chat_template: tokenizer
column_mapping:
text_column: messages
params:
block_size: 2048
model_max_length: 4096
epochs: 2
batch_size: 1
lr: 1e-5
peft: true
quantization: int4
target_modules: all-linear
padding: right
optimizer: paged_adamw_8bit
scheduler: linear
gradient_accumulation: 8
mixed_precision: bf16
merge_adapter: true
hub:
username: ${
HF_USERNAME}
token: ${
HF_TOKEN}
push_to_hub: true
要使用上述配置文件微调模型,你可以使用以下命令:
export HF_USERNAME=<your_hugging_face_username>
export HF_TOKEN=<your_hugging_face_write_token>
autotrain --config <path_to_config_file>
资源
- 项目官网:https://hf.co/docs/autotrain/
- GitHub 仓库:https://github.com/huggingface/autotrain-advanced
- arXiv 技术论文:https://arxiv.org/pdf/2410.15735
❤️ 如果你也关注 AI 的发展现状,且对 AI 应用开发非常感兴趣,我会每日跟你分享最新的 AI 资讯和开源应用,也会不定期分享自己的想法和开源实例,欢迎关注我哦!
🥦 微信公众号|搜一搜:蚝油菜花 🥦