语言:
- 英语
- 意大利语
许可证: llama3
库名称: transformers
标签:
- facebook
- meta
- pytorch
- llama
- llama-3
- llamantino
基础模型: meta-llama/Meta-Llama-3-8B-Instruct
数据集:
- gsarti/clean_mc4_it
- Chat-Error/wizard_alpaca_dolly_orca
- mlabonne/orpo-dpo-mix-40k
评估指标:
- 准确率
模型创建者: Marco Polignano - SWAP研究小组
流水线标签: 文本生成
模型索引:
- 名称: LLaMAntino-3-ANITA-8B-Inst-DPO-ITA
结果:
- 任务:
类型: 文本生成
名称: 文本生成
数据集:
名称: AI2推理挑战赛 (25-Shot)
类型: ai2_arc
配置: ARC-Challenge
分割: 测试
参数:
num_few_shot: 25
指标:
- 类型: acc_norm
值: 74.57
名称: 标准化准确率
来源:
网址: https://huggingface.co/spaces/HuggingFaceH4/open_llm_leaderboard?query=swap-uniba/LLaMAntino-3-ANITA-8B-Inst-DPO-ITA
名称: 开放LLM排行榜
- 任务:
类型: 文本生成
名称: 文本生成
数据集:
名称: HellaSwag (10-Shot)
类型: hellaswag
分割: 验证
参数:
num_few_shot: 10
指标:
- 类型: acc_norm
值: 92.75
名称: 标准化准确率
来源:
网址: https://huggingface.co/spaces/HuggingFaceH4/open_llm_leaderboard?query=swap-uniba/LLaMAntino-3-ANITA-8B-Inst-DPO-ITA
名称: 开放LLM排行榜
- 任务:
类型: 文本生成
名称: 文本生成
数据集:
名称: MMLU (5-Shot)
类型: cais/mmlu
配置: 全部
分割: 测试
参数:
num_few_shot: 5
指标:
- 类型: acc
值: 66.85
名称: 准确率
来源:
网址: https://huggingface.co/spaces/HuggingFaceH4/open_llm_leaderboard?query=swap-uniba/LLaMAntino-3-ANITA-8B-Inst-DPO-ITA
名称: 开放LLM排行榜
- 任务:
类型: 文本生成
名称: 文本生成
数据集:
名称: TruthfulQA (0-shot)
类型: truthful_qa
配置: 多项选择
分割: 验证
参数:
num_few_shot: 0
指标:
- 类型: mc2
值: 75.93
来源:
网址: https://huggingface.co/spaces/HuggingFaceH4/open_llm_leaderboard?query=swap-uniba/LLaMAntino-3-ANITA-8B-Inst-DPO-ITA
名称: 开放LLM排行榜
- 任务:
类型: 文本生成
名称: 文本生成
数据集:
名称: Winogrande (5-shot)
类型: winogrande
配置: winogrande_xl
分割: 验证
参数:
num_few_shot: 5
指标:
- 类型: acc
值: 82.0
名称: 准确率
来源:
网址: https://huggingface.co/spaces/HuggingFaceH4/open_llm_leaderboard?query=swap-uniba/LLaMAntino-3-ANITA-8B-Inst-DPO-ITA
名称: 开放LLM排行榜
- 任务:
类型: 文本生成
名称: 文本生成
数据集:
名称: GSM8k (5-shot)
类型: gsm8k
配置: 主要
分割: 测试
参数:
num_few_shot: 5
指标:
- 类型: acc
值: 58.61
名称: 准确率
来源:
网址: https://huggingface.co/spaces/HuggingFaceH4/open_llm_leaderboard?query=swap-uniba/LLaMAntino-3-ANITA-8B-Inst-DPO-ITA
名称: 开放LLM排行榜
"基于Meta Llama 3构建"。
LLaMAntino-3-ANITA-8B-Inst-DPO-ITA是LLaMAntino - 大型语言模型家族的一个模型。
该模型是Meta-Llama-3-8b-instruct(一个微调过的LLaMA 3模型)的指令调优版本。
此模型版本旨在成为一个多语言模型(英语 + 意大利语),以便在意大利语特定任务上进一步微调。
ANITA项目(Advanced Natural-based interaction for the ITAlian language)
旨在为意大利NLP研究人员提供一个改进的意大利语用例模型。
在线演示: https://chat.llamantino.it/
仅限意大利连接使用。
模型详情
最后更新: 2024年5月10日
https://github.com/marcopoli/LLaMAntino-3-ANITA
模型 |
HF |
GGUF |
EXL2 |
swap-uniba/LLaMAntino-3-ANITA-8B-Inst-DPO-ITA |
链接 |
链接 |
链接 |
规格说明
- 模型开发者:
博士 Marco Polignano - 意大利巴里大学
SWAP研究小组
- 变体: 该模型版本使用QLoRA 4bit进行监督微调(SFT),基于指令数据集。使用DPO方法在mlabonne/orpo-dpo-mix-40k数据集上进行对齐,以满足人类对帮助性和安全性的偏好。
- 输入: 模型仅输入文本。
- 语言: 多语言 + 意大利语
- 输出: 模型仅生成文本和代码。
- 模型架构: Llama 3架构。
- 上下文长度: 8K, 8192。
- 使用的库: Unsloth
使用示例
要直接使用该模型,有多种方式可以开始,选择以下方式之一进行体验。
提示模板
<|start_header_id|>system<|end_header_id|>
{ 系统提示 }<|eot_id|><|start_header_id|>user<|end_header_id|>
{ 用户提示 }<|eot_id|><|start_header_id|>assistant<|end_header_id|>
{ 助手提示 }<|eot_id|>
Transformers
要直接使用transformers
,可以通过以下步骤轻松开始。
-
首先,需要通过以下命令安装transformers。
pip install -U transformers trl peft accelerate bitsandbytes
-
现在,可以直接开始使用模型。
import torch
from transformers import (
AutoModelForCausalLM,
AutoTokenizer,
)
基础模型 = "swap-uniba/LLaMAntino-3-ANITA-8B-Inst-DPO-ITA"
模型 = AutoModelForCausalLM.from_pretrained(
基础模型,
torch_dtype=torch.bfloat16,
device_map="auto",
)
分词器 = AutoTokenizer.from_pretrained(基础模型)
系统 = "你是一个名为LLaMAntino-3 ANITA的意大利语AI助手 " \
"(Advanced Natural-based interaction for the ITAlian language)." \
" 用提问的语言清晰、简单且详尽地回答。"
消息 = [
{"role": "system", "content": 系统},
{"role": "user", "content": "Carlo Magno是谁?"}
]
提示 = 分词器.apply_chat_template(消息, tokenize=False, add_generation_prompt=True)
输入 = 分词器(提示, return_tensors="pt", add_special_tokens=False)
for k,v in 输入.items():
输入[k] = v.cuda()
输出 = 模型.generate(**输入, max_new_tokens=512, do_sample=True, top_p=0.9, temperature=0.6)
结果 = 分词器.batch_decode(输出)[0]
print(结果)
import transformers
管道 = transformers.pipeline(
model=模型,
tokenizer=分词器,
return_full_text=False,
task='text-generation',
max_new_tokens=512,
temperature=0.6,
do_sample=True,
top_p=0.9,
)
序列 = 管道(消息)
for seq in 序列:
print(f"{seq['generated_text']}")
-
此外,还可以使用4bit量化模型以减少所需资源。可以从以下代码开始。
import torch
from transformers import (
AutoModelForCausalLM,
AutoTokenizer,
BitsAndBytesConfig,
)
基础模型 = "swap-uniba/LLaMAntino-3-ANITA-8B-Inst-DPO-ITA"
bnb_config = BitsAndBytesConfig(
load_in_4bit=True,
bnb_4bit_quant_type="nf4",
bnb_4bit_compute_dtype=torch.bfloat16,
bnb_4bit_use_double_quant=False,
)
模型 = AutoModelForCausalLM.from_pretrained(
基础模型,
quantization_config=bnb_config,
device_map="auto",
)
分词器 = AutoTokenizer.from_pretrained(基础模型)
系统 = "你是一个名为LLaMAntino-3 ANITA的意大利语AI助手 " \
"(Advanced Natural-based interaction for the ITAlian language)." \
" 用提问的语言清晰、简单且详尽地回答。"
消息 = [
{"role": "system", "content": 系统},
{"role": "user", "content": "Carlo Magno是谁?"}
]
提示 = 分词器.apply_chat_template(消息, tokenize=False, add_generation_prompt=True)
输入 = 分词器(提示, return_tensors="pt", add_special_tokens=False)
for k,v in 输入.items():
输入[k] = v.cuda()
输出 = 模型.generate(**输入, max_new_tokens=512, do_sample=True, top_p=0.9, temperature=0.6)
结果 = 分词器.batch_decode(输出)[0]
print(结果)
import transformers