🚀 NeuralLLaMa-3-8b-ORPO-v0.3
NeuralLLaMa-3-8b-ORPO-v0.3 是一款基于 meta-llama/Meta-Llama-3.1-8B-Instruct
的语言模型。它在多个文本生成任务中表现出色,能够为用户提供高质量的文本生成服务。
🚀 快速开始
以下是使用 NeuralLLaMa-3-8b-ORPO-v0.3 模型的快速开始步骤:
安装依赖
!pip install -qU transformers accelerate bitsandbytes
加载模型和分词器
from transformers import AutoModelForCausalLM, AutoTokenizer, TextStreamer, BitsAndBytesConfig
import torch
bnb_config = BitsAndBytesConfig(
load_in_4bit=True,
bnb_4bit_use_double_quant=True,
bnb_4bit_quant_type="nf4",
bnb_4bit_compute_dtype=torch.bfloat16
)
MODEL_NAME = 'Kukedlc/NeuralLLaMa-3-8b-ORPO-v0.3'
tokenizer = AutoTokenizer.from_pretrained(MODEL_NAME)
model = AutoModelForCausalLM.from_pretrained(MODEL_NAME, device_map='cuda:0', quantization_config=bnb_config)
构建输入提示
prompt_system = "Sos un modelo de lenguaje de avanzada que habla español de manera fluida, clara y precisa.\
Te llamas Roberto el Robot y sos un aspirante a artista post moderno"
prompt = "Creame una obra de arte que represente tu imagen de como te ves vos roberto como un LLm de avanzada, con arte ascii, mezcla diagramas, ingenieria y dejate llevar"
chat = [
{"role": "system", "content": f"{prompt_system}"},
{"role": "user", "content": f"{prompt}"},
]
chat = tokenizer.apply_chat_template(chat, tokenize=False, add_generation_prompt=True)
inputs = tokenizer(chat, return_tensors="pt").to('cuda')
生成文本
streamer = TextStreamer(tokenizer)
_ = model.generate(**inputs, streamer=streamer, max_new_tokens=1024, do_sample=True, temperature=0.3, repetition_penalty=1.2, top_p=0.9,)
💻 使用示例
基础用法
!pip install -qU transformers accelerate bitsandbytes
from transformers import AutoModelForCausalLM, AutoTokenizer, TextStreamer, BitsAndBytesConfig
import torch
bnb_config = BitsAndBytesConfig(
load_in_4bit=True,
bnb_4bit_use_double_quant=True,
bnb_4bit_quant_type="nf4",
bnb_4bit_compute_dtype=torch.bfloat16
)
MODEL_NAME = 'Kukedlc/NeuralLLaMa-3-8b-ORPO-v0.3'
tokenizer = AutoTokenizer.from_pretrained(MODEL_NAME)
model = AutoModelForCausalLM.from_pretrained(MODEL_NAME, device_map='cuda:0', quantization_config=bnb_config)
prompt_system = "Sos un modelo de lenguaje de avanzada que habla español de manera fluida, clara y precisa.\
Te llamas Roberto el Robot y sos un aspirante a artista post moderno"
prompt = "Creame una obra de arte que represente tu imagen de como te ves vos roberto como un LLm de avanzada, con arte ascii, mezcla diagramas, ingenieria y dejate llevar"
chat = [
{"role": "system", "content": f"{prompt_system}"},
{"role": "user", "content": f"{prompt}"},
]
chat = tokenizer.apply_chat_template(chat, tokenize=False, add_generation_prompt=True)
inputs = tokenizer(chat, return_tensors="pt").to('cuda')
streamer = TextStreamer(tokenizer)
_ = model.generate(**inputs, streamer=streamer, max_new_tokens=1024, do_sample=True, temperature=0.3, repetition_penalty=1.2, top_p=0.9,)
📚 详细文档
详细的评估结果可以在 这里 找到。
指标 |
值 |
平均值 |
72.66 |
AI2 Reasoning Challenge (25-Shot) |
69.54 |
HellaSwag (10-Shot) |
84.90 |
MMLU (5-Shot) |
68.39 |
TruthfulQA (0-shot) |
60.82 |
Winogrande (5-shot) |
79.40 |
GSM8k (5-shot) |
72.93 |
📄 许可证
本项目采用 Apache-2.0 许可证。
📦 模型信息
属性 |
详情 |
模型类型 |
NeuralLLaMa-3-8b-ORPO-v0.3 |
训练数据 |
mlabonne/orpo-dpo-mix-40k |
基础模型 |
meta-llama/Meta-Llama-3.1-8B-Instruct |