🚀 土耳其语Llama 3-8B模型
本仓库包含土耳其语Llama 3项目及其变体的实验性和教育性微调模型,这些模型可用于不同目的。
实际训练的模型是 Unsloth的Llama 3-8B量化模型 的适配器模型,之后使用llama.cpp将其转换为.gguf格式,为vLLM转换为.bin格式。
该模型仍有进一步开发的空间,当我们获得高质量数据时,将继续对其进行训练。由于部分土耳其语数据集是从英语翻译而来且质量较差,因此并非所有数据集都能使用。
你可以 在此 访问微调代码。
使用NVIDIA L4进行了150步训练,耗时约8分钟。
🚀 快速开始
本项目提供了土耳其语Llama 3-8B的微调模型,可用于不同的自然语言处理任务。
✨ 主要特性
- 适配模型:基于 Unsloth的Llama 3-8B量化模型 进行微调。
- 多格式支持:可转换为.gguf格式(使用llama.cpp)和.bin格式(用于vLLM)。
- 持续改进:当获得高质量数据时,将继续对模型进行训练。
💻 使用示例
基础用法
你可以使用PEFT库来使用适配器模型:
from peft import PeftModel, PeftConfig
from transformers import AutoModelForCausalLM, AutoTokenizer
base_model = AutoModelForCausalLM.from_pretrained("unsloth/llama-3-8b-bnb-4bit")
model = PeftModel.from_pretrained(base_model, "myzens/llama3-8b-tr-finetuned")
tokenizer = AutoTokenizer.from_pretrained("myzens/llama3-8b-tr-finetuned")
alpaca_prompt = """
Instruction:
{}
Input:
{}
Response:
{}"""
inputs = tokenizer([
alpaca_prompt.format(
"",
"Ankara'da gezilebilecek 3 yeri söyle ve ne olduklarını kısaca açıkla.",
"",
)], return_tensors = "pt").to("cuda")
outputs = model.generate(**inputs, max_new_tokens=256)
print(tokenizer.decode(outputs[0], skip_special_tokens=True))
高级用法
使用Transformers库直接加载模型:
from transformers import AutoTokenizer, AutoModelForCausalLM
tokenizer = AutoTokenizer.from_pretrained("myzens/llama3-8b-tr-finetuned")
model = AutoModelForCausalLM.from_pretrained("myzens/llama3-8b-tr-finetuned")
alpaca_prompt = """
Instruction:
{}
Input:
{}
Response:
{}"""
inputs = tokenizer([
alpaca_prompt.format(
"",
"Ankara'da gezilebilecek 3 yeri söyle ve ne olduklarını kısaca açıkla.",
"",
)], return_tensors = "pt").to("cuda")
outputs = model.generate(**inputs, max_new_tokens=192)
print(tokenizer.decode(outputs[0], skip_special_tokens=True))
其他用法
使用Transformers的pipeline进行文本生成:
from transformers import AutoTokenizer, AutoModelForCausalLM, pipeline
tokenizer = AutoTokenizer.from_pretrained("myzens/llama3-8b-tr-finetuned")
model = AutoModelForCausalLM.from_pretrained("myzens/llama3-8b-tr-finetuned")
pipe = pipeline("text-generation", model=model, tokenizer=tokenizer)
alpaca_prompt = """
Instruction:
{}
Input:
{}
Response:
{}"""
input = alpaca_prompt.format(
"",
"Ankara'da gezilebilecek 3 yeri söyle ve ne olduklarını kısaca açıkla.",
"",
)
pipe(input)
输出示例
Instruction:
Input:
Ankara'da gezilebilecek 3 yeri söyle ve ne olduklarını kısaca açıkla.
Response:
1. Anıtkabir - Mustafa Kemal Atatürk'ün mezarı
2. Gençlik ve Spor Sarayı - spor etkinliklerinin yapıldığı yer
3. Kızılay Meydanı - Ankara'nın merkezinde bulunan bir meydan
📄 许可证
本项目采用Apache 2.0许可证。
⚠️ 重要提示
- 建议使用Alpaca提示模板或其他模板,否则可能会生成无意义的内容或不断重复相同的句子。
- 请使用支持CUDA的GPU运行该模型。
本模型由 emre570 进行微调。
📦 模型信息
属性 |
详情 |
基础模型 |
unsloth/llama-3-8b-bnb-4bit |
库名称 |
peft |
数据集 |
myzens/alpaca-turkish-combined |
标签 |
transformers、unsloth、llama、trl、sft、peft |
许可证 |
apache-2.0 |