模型介绍
内容详情
替代品
模型简介
这是一个指令微调的大语言模型,专门针对印地语和英语进行优化,适用于多种文本生成任务。
模型特点
多语言支持
专门针对印地语和英语进行优化,支持双语文本生成
指令微调
在IndicInstruct数据集上进行微调,包含多种指令数据集
高效训练
使用LoRA技术进行微调,降低计算资源需求
模型能力
文本生成
多语言处理
指令理解与执行
使用案例
教育
语言学习辅助
帮助学习者练习印地语和英语的写作与理解
内容创作
多语言内容生成
生成英语和印地语的双语内容
语言:
- 英语
- 印地语 许可证: llama2 标签:
- 多语言
- 指令微调
- llama2 数据集:
- ai4bharat/indic-instruct-data-v0.1 模型索引:
- 名称: Airavata
结果:
- 任务:
类型: 文本生成
名称: 文本生成
数据集:
名称: AI2推理挑战赛(25样本)
类型: ai2_arc
配置: ARC挑战赛
分割: 测试集
参数:
少量样本数: 25
指标:
- 类型: 标准化准确率 值: 46.5 名称: 标准化准确率 来源: 网址: https://huggingface.co/spaces/HuggingFaceH4/open_llm_leaderboard?query=ai4bharat/Airavata 名称: 开放LLM排行榜
- 任务:
类型: 文本生成
名称: 文本生成
数据集:
名称: HellaSwag(10样本)
类型: hellaswag
分割: 验证集
参数:
少量样本数: 10
指标:
- 类型: 标准化准确率 值: 69.26 名称: 标准化准确率 来源: 网址: https://huggingface.co/spaces/HuggingFaceH4/open_llm_leaderboard?query=ai4bharat/Airavata 名称: 开放LLM排行榜
- 任务:
类型: 文本生成
名称: 文本生成
数据集:
名称: MMLU(5样本)
类型: cais/mmlu
配置: 全部
分割: 测试集
参数:
少量样本数: 5
指标:
- 类型: 准确率 值: 43.9 名称: 准确率 来源: 网址: https://huggingface.co/spaces/HuggingFaceH4/open_llm_leaderboard?query=ai4bharat/Airavata 名称: 开放LLM排行榜
- 任务:
类型: 文本生成
名称: 文本生成
数据集:
名称: TruthfulQA(0样本)
类型: truthful_qa
配置: 多项选择
分割: 验证集
参数:
少量样本数: 0
指标:
- 类型: mc2 值: 40.62 来源: 网址: https://huggingface.co/spaces/HuggingFaceH4/open_llm_leaderboard?query=ai4bharat/Airavata 名称: 开放LLM排行榜
- 任务:
类型: 文本生成
名称: 文本生成
数据集:
名称: Winogrande(5样本)
类型: winogrande
配置: winogrande_xl
分割: 验证集
参数:
少量样本数: 5
指标:
- 类型: 准确率 值: 68.82 名称: 准确率 来源: 网址: https://huggingface.co/spaces/HuggingFaceH4/open_llm_leaderboard?query=ai4bharat/Airavata 名称: 开放LLM排行榜
- 任务:
类型: 文本生成
名称: 文本生成
数据集:
名称: GSM8k(5样本)
类型: gsm8k
配置: 主要
分割: 测试集
参数:
少量样本数: 5
指标:
- 类型: 准确率 值: 4.02 名称: 准确率 来源: 网址: https://huggingface.co/spaces/HuggingFaceH4/open_llm_leaderboard?query=ai4bharat/Airavata 名称: 开放LLM排行榜
- 任务:
类型: 文本生成
名称: 文本生成
数据集:
名称: AI2推理挑战赛(25样本)
类型: ai2_arc
配置: ARC挑战赛
分割: 测试集
参数:
少量样本数: 25
指标:
艾拉瓦塔模型
本模型是基于7B参数的OpenHathi模型,在IndicInstruct数据集上微调而成。该数据集是多个指令数据集的集合(包括Anudesh、wikiHow、Flan v2、Dolly、Anthropic-HHH、OpenAssistant v1和LymSys-Chat)。更多详情请参阅相应的HuggingFace数据集卡片。
本模型是技术报告《艾拉瓦塔:印地语指令微调大语言模型》的研究成果。训练和评估该模型的代码库可在https://github.com/AI4Bharat/IndicInstruct找到。
使用方法
克隆https://github.com/AI4Bharat/IndicInstruct并安装所需依赖。然后将本模型下载或克隆至同一台机器。
输入格式
模型训练采用类似open-instruct代码库的对话格式(注意换行符):
<|用户|>
您的消息在这里!
<|助手|>
为获得最佳效果,请按此格式组织所有输入。确保在<|助手|>
后包含换行符,这对生成质量影响显著。
超参数
我们使用LoRA对上述OpenHathi基础模型进行微调。LoRA微调的超参数如下:
- LoRA秩: 16
- LoRA alpha: 32
- LoRA丢弃率: 0.05
- LoRA目标模块: ["q_proj", "v_proj", "k_proj", "down_proj", "gate_proj", "up_proj"]
- 训练轮次: 4
- 学习率: 5e-4
- 批量大小: 128
- 浮点精度: bfloat16
建议读者查阅我们的官方博客文章获取关于模型训练、消融实验和评估结果的更多细节。
示例
import torch
from transformers import AutoTokenizer, AutoModelForCausalLM
device = "cuda" if torch.cuda.is_available() else "cpu"
def create_prompt_with_chat_format(messages, bos="<s>", eos="</s>", add_bos=True):
formatted_text = ""
for message in messages:
if message["role"] == "system":
formatted_text += "<|system|>\n" + message["content"] + "\n"
elif message["role"] == "user":
formatted_text += "<|user|>\n" + message["content"] + "\n"
elif message["role"] == "assistant":
formatted_text += "<|assistant|>\n" + message["content"].strip() + eos + "\n"
else:
raise ValueError(
"Tulu聊天模板仅支持'system'、'user'和'assistant'角色。无效角色: {}。".format(
message["role"]
)
)
formatted_text += "<|assistant|>\n"
formatted_text = bos + formatted_text if add_bos else formatted_text
return formatted_text
def inference(input_prompts, model, tokenizer):
input_prompts = [
create_prompt_with_chat_format([{"role": "user", "content": input_prompt}], add_bos=False)
for input_prompt in input_prompts
]
encodings = tokenizer(input_prompts, padding=True, return_tensors="pt")
encodings = encodings.to(device)
with torch.inference_mode():
outputs = model.generate(encodings.input_ids, do_sample=False, max_new_tokens=250)
output_texts = tokenizer.batch_decode(outputs.detach(), skip_special_tokens=True)
input_prompts = [
tokenizer.decode(tokenizer.encode(input_prompt), skip_special_tokens=True) for input_prompt in input_prompts
]
output_texts = [output_text[len(input_prompt) :] for input_prompt, output_text in zip(input_prompts, output_texts)]
return output_texts
model_name = "ai4bharat/Airavata"
tokenizer = AutoTokenizer.from_pretrained(model_name, padding_side="left")
tokenizer.pad_token = tokenizer.eos_token
model = AutoModelForCausalLM.from_pretrained(model_name, torch_dtype=torch.bfloat16).to(device)
input_prompts = [
"如何提高我的时间管理技能?请给出五点建议。",
"如何提高我的时间管理技能?请给出五点建议并详细说明。",
]
outputs = inference(input_prompts, model, tokenizer)
print(outputs)
引用
@article{gala2024airavata,
title = {艾拉瓦塔:印地语指令微调大语言模型},
author = {Jay Gala and Thanmay Jayakumar and Jaavid Aktar Husain and Aswanth Kumar M and Mohammed Safi Ur Rahman Khan and Diptesh Kanojia and Ratish Puduppully and Mitesh M. Khapra and Raj Dabre and Rudra Murthy and Anoop Kunchukuttan},
year = {2024},
journal = {arXiv预印本 arXiv: 2401.15006}
}
开放LLM排行榜评估结果
详细结果参见此处
指标 | 值 |
---|---|
平均得分 | 45.52 |
AI2推理挑战赛(25样本) | 46.50 |
HellaSwag(10样本) | 69.26 |
MMLU(5样本) | 43.90 |
TruthfulQA(0样本) | 40.62 |
Winogrande(5样本) | 68.82 |
GSM8k(5样本) | 4.02 |
Phi 2 GGUF
其他
Phi-2是微软开发的一个小型但强大的语言模型,具有27亿参数,专注于高效推理和高质量文本生成。
大型语言模型
支持多种语言
P
TheBloke
41.5M
205
Roberta Large
MIT
基于掩码语言建模目标预训练的大型英语语言模型,采用改进的BERT训练方法
大型语言模型
英语
R
FacebookAI
19.4M
212
Distilbert Base Uncased
Apache-2.0
DistilBERT是BERT基础模型的蒸馏版本,在保持相近性能的同时更轻量高效,适用于序列分类、标记分类等自然语言处理任务。
大型语言模型
英语
D
distilbert
11.1M
669
Llama 3.1 8B Instruct GGUF
Meta Llama 3.1 8B Instruct 是一个多语言大语言模型,针对多语言对话用例进行了优化,在常见的行业基准测试中表现优异。
大型语言模型
英语
L
modularai
9.7M
4
Xlm Roberta Base
MIT
XLM-RoBERTa是基于100种语言的2.5TB过滤CommonCrawl数据预训练的多语言模型,采用掩码语言建模目标进行训练。
大型语言模型
支持多种语言
X
FacebookAI
9.6M
664
Roberta Base
MIT
基于Transformer架构的英语预训练模型,通过掩码语言建模目标在海量文本上训练,支持文本特征提取和下游任务微调
大型语言模型
英语
R
FacebookAI
9.3M
488
Opt 125m
其他
OPT是由Meta AI发布的开放预训练Transformer语言模型套件,参数量从1.25亿到1750亿,旨在对标GPT-3系列性能,同时促进大规模语言模型的开放研究。
大型语言模型
英语
O
facebook
6.3M
198
Llama 3.1 8B Instruct
Llama 3.1是Meta推出的多语言大语言模型系列,包含8B、70B和405B参数规模,支持8种语言和代码生成,优化了多语言对话场景。
大型语言模型
Transformers

支持多种语言
L
meta-llama
5.7M
3,898
T5 Base
Apache-2.0
T5基础版是由Google开发的文本到文本转换Transformer模型,参数规模2.2亿,支持多语言NLP任务。
大型语言模型
支持多种语言
T
google-t5
5.4M
702
Xlm Roberta Large
MIT
XLM-RoBERTa是基于100种语言的2.5TB过滤CommonCrawl数据预训练的多语言模型,采用掩码语言建模目标进行训练。
大型语言模型
支持多种语言
X
FacebookAI
5.3M
431
精选推荐AI模型
Llama 3 Typhoon V1.5x 8b Instruct
专为泰语设计的80亿参数指令模型,性能媲美GPT-3.5-turbo,优化了应用场景、检索增强生成、受限生成和推理任务
大型语言模型
Transformers

支持多种语言
L
scb10x
3,269
16
Cadet Tiny
Openrail
Cadet-Tiny是一个基于SODA数据集训练的超小型对话模型,专为边缘设备推理设计,体积仅为Cosmo-3B模型的2%左右。
对话系统
Transformers

英语
C
ToddGoldfarb
2,691
6
Roberta Base Chinese Extractive Qa
基于RoBERTa架构的中文抽取式问答模型,适用于从给定文本中提取答案的任务。
问答系统
中文
R
uer
2,694
98
AIbase是一个专注于MCP服务的平台,为AI开发者提供高质量的模型上下文协议服务,助力AI应用开发。
简体中文