README.md Mô hình XaXeXu Đây là mô hình LLM đã được tinh chỉnh từ Meta-Llama-3-8B sử dụng QLoRA để giảm chi phí tính toán nhưng vẫn đảm bảo hiệu suất cao. Mục đích của mô hình là sinh output kết quả từ bộ dữ liệu ELYZA-tasks-100.
- Cài đặt môi trường Đầu tiên, cài đặt các thư viện cần thiết:
bash Sao chép mã pip install transformers bitsandbytes accelerate peft datasets torch Ngoài ra, cần đăng nhập vào Hugging Face CLI để tải mô hình:
bash Sao chép mã huggingface-cli login 2. Tải mô hình Dưới đây là cách tải tokenizer và mô hình đã tinh chỉnh:
python Sao chép mã import torch from transformers import AutoTokenizer, AutoModelForCausalLM, BitsAndBytesConfig
model_name = "meta-llama/Meta-Llama-3-8B"
Cấu hình nén QLoRA
bnb_config = BitsAndBytesConfig( load_in_4bit=True, bnb_4bit_compute_dtype=torch.float16, bnb_4bit_quant_type="nf4", bnb_4bit_use_double_quant=False, )
Tải tokenizer và mô hình
tokenizer = AutoTokenizer.from_pretrained(model_name) model = AutoModelForCausalLM.from_pretrained( model_name, device_map="auto", quantization_config=bnb_config, torch_dtype=torch
Bạn đã nói: viết bằng tiếng nhật ChatGPT đã nói: ChatGPT 以下は、Hugging Face上のxaxexu/XaXeXuリポジトリのREADME.mdの完全なサンプルです。
XaXeXuモデル このリポジトリには、Meta-Llama-3-8BをベースにQLoRAを使用してファインチューニングされたXaXeXuモデルが含まれています。 日本語のベンチマーク ELYZA-tasks-100 に対して高精度な結果を出力するために設計されています。
環境構築 以下のライブラリをインストールすることで環境をセットアップできます。
bash Sao chép mã pip install transformers bitsandbytes accelerate peft datasets Hugging Faceアカウントでログインする必要があります。
bash Sao chép mã huggingface-cli login モデルのダウンロード モデルはHugging Faceから直接ダウンロードできます。
python Sao chép mã from transformers import AutoTokenizer, AutoModelForCausalLM, BitsAndBytesConfig import torch
モデル名
model_name = "meta-llama/Meta-Llama-3-8B"
量子化設定 (QLoRA用)
bnb_config = BitsAndBytesConfig( load_in_4bit=True, bnb_4bit_compute_dtype=torch.float16, bnb_4bit_quant_type="nf4", bnb_4bit_use_double_quant=False, )
トークナイザーとモデルのロード
tokenizer = AutoTokenizer.from_pretrained(model_name) model = AutoModelForCausalLM.from_pretrained( model_name, device_map="auto", quantization_config=bnb_config, torch_dtype=torch.bfloat16, ) ベンチマークデータのダウンロード ELYZA-tasks-100データセットを使用します。
python Sao chép mã from datasets import load_dataset
データセットのロード
dataset = load_dataset("elyza/ELYZA-tasks-100", split="test") print(dataset) モデルの実行と出力 入力データを処理し、出力を生成してoutput_results.jsonlとして保存します。
python Sao chép mã import json
ベンチマークデータの入力から出力を生成
results = [] for sample in dataset: input_text = sample["input"] inputs = tokenizer(input_text, return_tensors="pt", truncation=True, padding=True, max_length=512) outputs = model.generate(**inputs, max_new_tokens=128) output_text = tokenizer.decode(outputs[0], skip_special_tokens=True) results.append({"input": input_text, "output": output_text})
JSONL形式で結果を保存
with open("output_results.jsonl", "w", encoding="utf-8") as f: for result in results: f.write(json.dumps(result, ensure_ascii=False) + "\n")
print("出力結果は 'output_results.jsonl' に保存されました。") 出力例 output_results.jsonlのサンプル内容:
json Sao chép mã {"input": "日本の経済成長について説明してください。", "output": "日本の経済成長は主に高度経済成長期に急速に進みました..."} {"input": "古代ギリシャの哲学者について教えてください。", "output": "古代ギリシャの哲学者には、ソクラテス、プラトン、アリストテレスがいます..."}