Hugging Face Optimum for Intel Gaudi:加速AI训练与推理
项目介绍
Hugging Face Optimum for Intel Gaudi 是一个旨在简化Hugging Face Transformers与Difffusers库在Intel Gaudi AI加速器(HPU)上使用的接口。它提供了一系列工具,便于单卡或多卡设置下各种下游任务的模型加载、训练和推理。通过利用Intel Gaudi的高性能计算能力,此项目提供了高效且价格性能比优异的解决方案。用户可以轻松地将数千个Hugging Face模型适配到Intel Gaudi加速器上,并且只需进行少量修改即可适用于不同任务。
快速启动
要立即开始在Habana Gaudi处理器上使用Transformers,您需遵循以下步骤:
安装Optimum Habana稳定版本
pip install --upgrade-strategy eager optimum[habana]
获取示例脚本
克隆仓库并切换到对应稳定版本分支:
git clone https://github.com/huggingface/optimum-habana
cd optimum-habana
git checkout v1.13.1 # 假定这是最新的稳定版
示例用法
以修改过的Trainer为例,使用GaudiTrainer替换原Trainer类,添加Habana特定配置:
from optimum.habana import GaudiConfig, GaudiTrainer
from transformers import TrainingArguments
training_args = TrainingArguments(
use_habana=True,
use_lazy_mode=True,
gaudi_config_name="path_to_gaudi_config",
)
# 初始化Trainer时使用GaudiTrainer
trainer = GaudiTrainer(
model=model,
args=training_args,
train_dataset=train_dataset if training_args.do_train else None,
eval_dataset=eval_dataset if training_args.do_eval else None,
compute_metrics=compute_metrics,
tokenizer=tokenizer,
data_collator=data_collator,
)
应用案例与最佳实践
对于使用案例,比如文本生成或者图像合成,您可以使用GaudiStableDiffusionPipeline来优化Stable Diffusion模型在HPU上的表现。这包括了如下的使用方式:
from optimum.habana.diffusers import GaudiStableDiffusionPipeline
model_name = "CompVis/stable-diffusion-v1-4"
pipeline = GaudiStableDiffusionPipeline.from_pretrained(
model_name,
use_habana=True,
use_hpu_graphs=True,
gaudi_config="Habana/stable-diffusion",
)
output = pipeline(["一幅毕加索风格的松鼠图画"], num_images_per_prompt=16)
最佳实践中,重要的是调整GaudiConfig以适应您的模型和任务需求,充分利用混合精度训练以及优化算子。
典型生态项目
Optimum for Intel Gaudi项目不仅支持主流的自然语言处理模型,如BERT、RoBERTa等,还兼容深度学习领域内的多种架构,如用于图像分类的ViT、Swin,以及语音识别的Wav2Vec2等。此外,它也支持扩散模型Stable Diffusion等,在文本到图像生成领域展现实力。这个生态让开发者能够在其广泛支持的设备上灵活运用Hugging Face模型。
开发者可以通过访问Hugging Face官方文档和社区论坛,找到更多关于如何在实际项目中集成和优化这些模型的指导和案例分享。无论是深度学习研究者还是工业界的应用开发者,Optimum for Intel Gaudi都为在Intel Gaudi平台上部署高质量AI解决方案提供了强大工具集。
Kimi-K2.5Kimi K2.5 是一款开源的原生多模态智能体模型,它在 Kimi-K2-Base 的基础上,通过对约 15 万亿混合视觉和文本 tokens 进行持续预训练构建而成。该模型将视觉与语言理解、高级智能体能力、即时模式与思考模式,以及对话式与智能体范式无缝融合。Python00
GLM-4.7-FlashGLM-4.7-Flash 是一款 30B-A3B MoE 模型。作为 30B 级别中的佼佼者,GLM-4.7-Flash 为追求性能与效率平衡的轻量化部署提供了全新选择。Jinja00
new-apiAI模型聚合管理中转分发系统,一个应用管理您的所有AI模型,支持将多种大模型转为统一格式调用,支持OpenAI、Claude、Gemini等格式,可供个人或者企业内部管理与分发渠道使用。🍥 A Unified AI Model Management & Distribution System. Aggregate all your LLMs into one app and access them via an OpenAI-compatible API, with native support for Claude (Messages) and Gemini formats.JavaScript01
idea-claude-code-gui一个功能强大的 IntelliJ IDEA 插件,为开发者提供 Claude Code 和 OpenAI Codex 双 AI 工具的可视化操作界面,让 AI 辅助编程变得更加高效和直观。Java01
KuiklyUI基于KMP技术的高性能、全平台开发框架,具备统一代码库、极致易用性和动态灵活性。 Provide a high-performance, full-platform development framework with unified codebase, ultimate ease of use, and dynamic flexibility. 注意:本仓库为Github仓库镜像,PR或Issue请移步至Github发起,感谢支持!Kotlin07
compass-metrics-modelMetrics model project for the OSS CompassPython00