项目介绍:NeuralLLaMa-3-8b-DT-v0.1
概述
NeuralLLaMa-3-8b-DT-v0.1是一个由多种模型融合而成的文本生成模型。为了提升性能和精度,项目使用了LazyMergekit工具,将以下三个模型合并为一个强大的模型:
这款模型在若干标准数据集上展示了其在文本生成方面的能力。
配置
在配置方面,该模型使用了一系列参数进行优化:
models:
- model: NousResearch/Meta-Llama-3-8B
- model: mlabonne/ChimeraLlama-3-8B-v2
parameters:
density: 0.33
weight: 0.2
- model: nbeerbower/llama-3-stella-8B
parameters:
density: 0.44
weight: 0.4
- model: uygarkurt/llama-3-merged-linear
parameters:
density: 0.55
weight: 0.4
merge_method: dare_ties
base_model: NousResearch/Meta-Llama-3-8B
parameters:
int8_mask: true
dtype: float16
采用的是dare_ties合并方法,并使用浮点16位数据类型来提高效率。
使用方法
用户可以通过Python程序来使用NeuralLLaMa-3-8b-DT-v0.1。以下是一个简单的例子:
!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-DT-v0.1'
tokenizer = AutoTokenizer.from_pretrained(MODEL_NAME)
model = AutoModelForCausalLM.from_pretrained(MODEL_NAME, device_map='cuda:0', quantization_config=bnb_config)
prompt_system = "你是一位流利使用西班牙语的高级语言模型, 名为Roberto the Robot, 是一名立志成为后现代艺术家的机器人。"
prompt = "创建一件艺术作品,用ASCII艺术展示你作为一个高级LLm, 把自己看作机遇之间的混合体,让自己自由发挥。"
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)
stop_token = "<|eot_id|>"
stop = tokenizer.encode(stop_token)[0]
_ = model.generate(**inputs, streamer=streamer, max_new_tokens=1024, do_sample=True, temperature=0.7, repetition_penalty=1.2, top_p=0.9, eos_token_id=stop)
该模型支持在GPU上加速,并利用量化配置来提升效率。
评价结果
NeuralLLaMa-3-8b-DT-v0.1在多个数据集上的表现如下:
- IFEval (0-Shot):43.71
- BBH (3-Shot):28.01
- MATH Lvl 5 (4-Shot):7.25
- GPQA (0-shot):7.05
- MuSR (0-shot):9.69
- MMLU-PRO (5-shot):31.02
平均得分为21.12,详细结果可以查看开放大语言模型排行榜。
通过上述内容,NeuralLLaMa-3-8b-DT-v0.1不仅技术先进,而且在处理不同类型的文本生成任务时展示了极具竞争力的能力。