添加微信号:AIGC_Tech,公众号小助手会拉你进群!点击下方名片关注AIGC Studio公众号!
点击下方名片关注AIGC Studio公众号!获取最新AI前沿应用/AIGC实践教程!
由Granite 和 IBM 发布的 Granite-4.0-H-Small 是一个 32B 参数的长上下文指令模型,基于Granite-4.0-H-Small-Base进行微调,结合了具有宽松许可证的开源指令数据集和内部收集的合成数据集。该模型采用多种技术开发,并采用结构化聊天格式,包括监督式微调、基于强化学习的模型对齐以及模型合并。Granite 4.0 指令模型具有改进的指令跟踪 (IF)和工具调用功能,使其在企业应用中更加高效。目前已经冲到了Huggingface热门榜单Top5!
支持语言: 英语、德语、西班牙语、法语、日语、葡萄牙语、阿拉伯语、捷克语、意大利语、韩语、荷兰语和中文。用户可以根据其他语言对 Granite 4.0 模型进行微调。
预期用途: 该模型旨在响应一般指令,并可用于构建多个领域的人工智能助手,包括商业应用。
功能
总结 文本分类 文本提取 问答 检索增强生成(RAG) 代码相关任务 函数调用任务 多语言对话用例 中间填充 (FIM) 代码补全
相关链接
主页:https://www.ibm.com/granite 教程:https://www.ibm.com/granite/docs 资源:https://ibm.biz/granite-learning-resources
使用示例
按照相关库
pip install torch torchvision torchaudio
pip install accelerate
pip install transformers
import torch
from transformers import AutoModelForCausalLM, AutoTokenizer
device = "cuda"
model_path = "ibm-granite/granite-4.0-h-small"
tokenizer = AutoTokenizer.from_pretrained(model_path)
# drop device_map if running on CPU
model = AutoModelForCausalLM.from_pretrained(model_path, device_map=device)
model.eval()
# change input text as desired
chat = [
{ "role": "user", "content": "Please list one IBM Research laboratory located in the United States. You should only output its name and location." },
]
chat = tokenizer.apply_chat_template(chat, tokenize=False, add_generation_prompt=True)
# tokenize the text
input_tokens = tokenizer(chat, return_tensors="pt").to(device)
# generate output tokens
output = model.generate(**input_tokens,
max_new_tokens=100)
# decode output tokens into text
output = tokenizer.batch_decode(output)
# print output
print(output[0])
预期输出
<|start_of_role|>system<|end_of_role|>You are a helpful assistant. Please ensure responses are professional, accurate, and safe.<|end_of_text|>
<|start_of_role|>user<|end_of_role|>Please list one IBM Research laboratory located in the United States. You should only output its name and location.<|end_of_text|>
<|start_of_role|>assistant<|end_of_role|>Almaden Research Center, San Jose, California<|end_of_text|>
实验结果
模型架构
Granite-4.0-H-Small 基线基于仅包含解码器的 MoE Transformer 架构构建。该架构的核心组件包括:GQA、Mamba2、共享专家的 MoE、SwiGLU 激活函数、RMNSorm 以及共享输入/输出嵌入。
训练数据
SFT 数据主要由三个主要来源组成:
具有许可的公开数据集 针对特定功能的内部合成数据 一组精选的人工数据。
基础设施
利用 CoreWeave 中托管的 NVIDIA GB200 NVL72 集群训练了 Granite 4.0 语言模型。机架内通信通过 72 块 GPU 组成的 NVLink 域进行,而机架间通信则由无阻塞、完整的 Fat-Tree NDR 400 Gb/s InfiniBand 网络提供。该集群提供了一个可扩展且高效的基础设施,用于在数千块 GPU 上训练模型。
伦理考量与局限性
Granite 4.0 指令模型主要使用指令-响应对(主要为英语)进行微调,但也使用涵盖多种语言的多语言数据进行微调。虽然该模型可以处理多语言对话用例,但其性能可能与英语任务有所不同。在这种情况下,引入少量样本(小样本)可以帮助模型生成更准确的输出。虽然该模型已通过考虑安全性进行了调整,但在某些情况下,该模型可能会对用户提示产生不准确、有偏差或不安全的响应。因此,我们敦促社区在使用该模型时,根据其特定任务进行适当的安全测试和调整。
感谢你看到这里,添加小助手 AIGC_Tech 加入官方 AIGC读者交流群,下方扫码加入 AIGC Studio 星球,获取前沿AI应用、AIGC实践教程、大厂面试经验、AI学习路线以及IT类入门到精通学习资料等,欢迎一起交流学习💗~
没有评论:
发表评论