transformers llama text-generation ja dataset:hotchpotch/jaqket_v1_qa_wikija_context dataset:shunk031/JGLUE license:apache-2.0 autotrain_compatible endpoints_compatible text-generation-inference 4-bit gptq region:us
---
license: apache-2.0
datasets:
- hotchpotch/jaqket_v1_qa_wikija_context
- shunk031/JGLUE
language:
- ja
---


## 🤔 これは何？

- 🧠 学習元LLMモデル
  - 🔗 https://huggingface.co/tokyotech-llm/Swallow-13b-instruct-hf
- 📚 利用データセット
  - 📖 JAQKET (dev / unuse) + JSQuAD(train・サンプリングで一部を利用)
- 🛠️ 学習手法
  - 📈 SFT(Supervised fine-tuning)
- 🧮 量子化手法
  - 🤖 AutoGPTQ
- 💡 このモデルのできること
  - 💬 コンテキスト付きのQ&Aに対して、回答を生成

## 🚀 実行例


```
import torch
from transformers import AutoTokenizer
from auto_gptq import AutoGPTQForCausalLM  # type: ignore

MODEL_NAME = "hotchpotch/Swallow-13b-stf-qa-context-jaqket-jsquad-gptq"

tokenizer = AutoTokenizer.from_pretrained(MODEL_NAME)
tokenizer.pad_token = tokenizer.eos_token

device = "cuda:0" if torch.cuda.is_available() else "cpu"
model = AutoGPTQForCausalLM.from_quantized(
    MODEL_NAME,
    device=device,
    use_safetensors=True,
    inject_fused_mlp=True,
    inject_fused_attention=True,
    use_flash_attention_2=True,
)


def generate(prompt: str) -> str:
    token_ids = tokenizer.encode(prompt, add_special_tokens=False, return_tensors="pt")

    with torch.no_grad():
        output_ids = model.generate(
            input_ids=token_ids.to(model.device),  # type: ignore
            max_new_tokens=12,
            do_sample=True,
            top_p=0.95,
            temperature=0.25,
            repetition_penalty=1.3,
            pad_token_id=tokenizer.pad_token_id,
            bos_token_id=tokenizer.bos_token_id,
            eos_token_id=tokenizer.eos_token_id,
        )
    output = tokenizer.decode(output_ids[0])
    output = output.replace(prompt, "")
    output = output.split(tokenizer.eos_token)[0]
    return output.strip()


prompt_template = """
以下に、あるタスクを説明する指示があり、それに付随する入力が更なる文脈を提供しています。リクエストを適切に完了するための回答を記述してください。

### 指示:
{question}

### 入力:
{context}

### 応答:
""".strip()
question = "楽曲『約束はいらない』でデビューした、声優は誰?"
context = """
Suara 大阪府立豊中高等学校を経て大阪外国語大学でインドネシア語を専攻中にバンド・ユニットを組んで音楽活動を始めた。普段はお笑い番組が大好きなこともあってよく喋るほうだが、東京の仕事で標準語の喋りをする時は、
早見沙織 声優デビュー時より、数多くの主題歌やキャラクターソングを担当し、バラードからポップス、ヒットソングのカバー曲や英語の楽曲など、様々な曲を歌いこなす。2009年には吉田仁美とのユニット「blue dro
約束はいらない 「約束はいらない」(やくそくはいらない)は、坂本真綾のデビューシングル。
約束はいらない 坂本真綾の歌手デビュー作品。当時坂本はまだ無名の声優であったが、同曲がテーマソングとなったアニメ『天空のエスカフローネ』とともに知名度を上げることとなる。後に「指輪」が同アニメの劇場版映画の主題歌とな
坂本真綾 本格的な歌手活動は、1996年にテレビアニメ『天空のエスカフローネ』へ出演したことがきっかけで始めており、同作のオープニングテーマソングである「約束はいらない」(岩里祐穂作詞、菅野よう子作曲)をシング
""".strip()

prompt = prompt_template.format(question=question, context=context)
print(generate(prompt))
#=> 坂本真綾（さかもとまあや / MAAY
```