--- base_model: llm-jp/llm-jp-3-13b library_name: peft tags: - text-generation-inference - llama - trl license: apache-2.0 --- # Model Card for Model ID - **Developed by:** togepi55 - **Funded by :** llm-jp/llm-jp-3-13b - **Language(s) (NLP):** English, Japanese - **License:** apache-2.0 ### 注意 プロンプトは形式でのみ学習しています。 ~~~ """ 以下は、タスクを説明する指示です。要求を適切に満たす応答を書きなさい ### 指示: {instruction} ### 応答: """ ~~~ ### サンプルコード ~~~python import torch from transformers import ( AutoTokenizer, AutoModelForCausalLM, BitsAndBytesConfig, ) from transformers import TextStreamer BASE_MODEL = "togepi55/llm-jp-3-13b-it" tokenizer = AutoTokenizer.from_pretrained(BASE_MODEL) bnb_config = BitsAndBytesConfig( load_in_4bit=True, bnb_4bit_compute_dtype=torch.float16, bnb_4bit_quant_type="nf4", bnb_4bit_use_double_quant=False, ) model = AutoModelForCausalLM.from_pretrained( BASE_MODEL, device_map="auto", quantization_config=bnb_config, torch_dtype="auto", trust_remote_code=True, ) streamer = TextStreamer(tokenizer, skip_prompt=True, skip_special_tokens=True) instruction = "東京は日本の" prompt = f"以下は、タスクを説明する指示です。要求を適切に満たす応答を書きなさい\n\n### 指示:\n{instruction}\n\n### 応答:\n" print(prompt) model_input = tokenizer(prompt, return_tensors="pt").to(model.device) input_ids = model_input["input_ids"] model.eval() with torch.no_grad(): result = model.generate( input_ids, max_new_tokens=300, attention_mask = model_input.attention_mask, pad_token_id=tokenizer.pad_token_id, eos_token_id=tokenizer.eos_token_id, do_sample=False, streamer=streamer, repetition_penalty=1.02, ) print("----"*20) del input_ids ~~~ ## Bias, Risks, and Limitations RLHF,DPOを実施していないため不適切な表現が出力される可能性があります。 ### Training Details 指示チューニングデータとして下記のものを利用しました。 * ichikara-instruction-003-001-1.json * ichikara-instruction-003-002-1.json * elyza/ELYZA-tasks-100 ### SFTの概要 * 4bit量子化 * LoRAによるSFT * learning_rate = 2e-4 * optim="adamw_torch_fused" * lr_scheduler_type="cosine" * weight_decay=0.01