Views
No views yet
myxy/recursive-compressor-2-7belyza/ELYZA-japanese-Llama-2-7b-fast<s>[QUERY]質問1[ANSWER]回答1<s>[QUERY]質問2[ANSWER]回答2<s>...[QUERY]質問[ANSWER]回答 の形で、ターン間は BOS (<s>) で区切られます。
[QUERY] [ANSWER] は特殊トークンではなくプレーンテキストのマーカーです。1prompt = "[QUERY]日本の首都はどこですか?[ANSWER]"
2# → モデルが回答を生成| データセット | 言語 | ライセンス・由来 |
|---|---|---|
shi3z/ja_conv_wikipedia_llama2pro8b_30k | 日本語 | Llama2-Pro 8B 生成(Llama 2 ToS継承) |
shi3z/ja_conv_wikipedia_orion14B_100K | 日本語 | Orion-14B 生成 |
HuggingFaceH4/ultrachat_200k | 英語 | MIT(GPT系で生成された合成対話) |
RecursiveCompressorLM を使用するため、
以下のリポジトリをクローンしてその中のクラス定義を読み込む必要があります:1git clone https://github.com/myxyy/RecursiveCompressorHF.git -b v1.0
2cd RecursiveCompressorHF
3uv syncgenerate() メソッドに対応しています:1import torch
2from transformers import AutoTokenizer, TextStreamer
3from recursive_compressor_lm import RecursiveCompressorLM
4
5model = RecursiveCompressorLM.from_pretrained(
6 "myxy/recursive-compressor-2-7b-instruct",
7 torch_dtype=torch.bfloat16,
8).to("cuda").eval()
9tokenizer = AutoTokenizer.from_pretrained("elyza/ELYZA-japanese-Llama-2-7b-fast")
10
11prompt = "[QUERY]猫の足は何本ですか?[ANSWER]"
12input_ids = tokenizer.encode(prompt, return_tensors="pt").to("cuda")
13
14output_ids = model.generate(
15 input_ids,
16 max_new_tokens=256,
17 do_sample=True,
18 temperature=0.8,
19 top_p=0.9,
20 streamer=TextStreamer(tokenizer, skip_prompt=True, skip_special_tokens=True),
21)
22#print(tokenizer.decode(output_ids[0], skip_special_tokens=True))predict.py / predict_stream.py も同等の機能を提供します(インタラクティブREPL等)。do_sample=Falseで貪欲生成、do_sample=Trueで確率サンプリングが使えます。PreTrainedModel)MODEL_REPO_ID/pretrainelyza/ELYZA-japanese-Llama-2-7b-fast<s>[QUERY]question1[ANSWER]answer1<s>[QUERY]question2[ANSWER]answer2<s>...[QUERY]question[ANSWER]answer, separated by BOS (<s>).
[QUERY] and [ANSWER] are plain text markers, not special tokens.1prompt = "[QUERY]What is the capital of Japan?[ANSWER]"
2# → model generates the answer| Dataset | Language | License / Origin |
|---|---|---|
shi3z/ja_conv_wikipedia_llama2pro8b_30k | Japanese | Generated by Llama2-Pro 8B (inherits Llama 2 ToS) |
shi3z/ja_conv_wikipedia_orion14B_100K | Japanese | Generated by Orion-14B |
HuggingFaceH4/ultrachat_200k | English | MIT (synthetic dialogues generated by GPT models) |
RecursiveCompressorLM architecture, so you need
to clone the repository to import the class definitions:1git clone https://github.com/myxyy/RecursiveCompressorHF.git -b v1.0
2cd RecursiveCompressorHF
3uv syncgenerate() method:1import torch
2from transformers import AutoTokenizer, TextStreamer
3from recursive_compressor_lm import RecursiveCompressorLM
4
5model = RecursiveCompressorLM.from_pretrained(
6 "myxy/recursive-compressor-2-7b-instruct",
7 torch_dtype=torch.bfloat16,
8).to("cuda").eval()
9tokenizer = AutoTokenizer.from_pretrained("elyza/ELYZA-japanese-Llama-2-7b-fast")
10
11prompt = "[QUERY]How many legs does a cat have?[ANSWER]"
12input_ids = tokenizer.encode(prompt, return_tensors="pt").to("cuda")
13
14output_ids = model.generate(
15 input_ids,
16 max_new_tokens=256,
17 do_sample=True,
18 temperature=0.8,
19 top_p=0.9,
20 streamer=TextStreamer(tokenizer, skip_prompt=True, skip_special_tokens=True),
21)
22#print(tokenizer.decode(output_ids[0], skip_special_tokens=True))predict.py / predict_stream.py in the repository for an interactive REPL.do_sample=False for greedy or do_sample=True for sampling).