File size: 4,395 Bytes
5ba6389
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
---
license: llama3.3
---
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.

1. 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": "古代ギリシャの哲学者には、ソクラテス、プラトン、アリストテレスがいます..."}