--- library_name: transformers license: cc datasets: - kinokokoro/ichikara-instruction-003 language: - ja metrics: - accuracy base_model: - llm-jp/llm-jp-3-3.7b - llm-jp/llm-jp-3-13b --- # Model Card for Model ID ## Model Details Final competition report for weblab.t.u-tokyo.ac.jp/lecture/course-list/large-language-model/ Using finetuning and some other methods to have better result for elyza-tasks-100-TV_0 With the optimization Technolkogy of Quantamize, PEFT. ### Model Description https://drive.google.com/drive/folders/1TcEpKngy72fbxXcu4VxoVUbPfvg8Z1z0 This is the model card of a 🤗 transformers model that has been pushed on the Hub. This model card has been automatically generated. - **Developed by:Yohei.KObayashi with modification by Hiroshi Hayashi - **Funded by [optional]:** [More Information Needed] - **Shared by [optional]:** [More Information Needed] - **Model type: llm-jp/llm-jp - **Language(s) (NLP): Japanese - **License: CC-BY-NC-SA - **Finetuned from model [optional]:Quantamize, PEFT ### Model Sources [optional] llm-jp-3 1.8B, 3.7B, 13B - **Repository:-- [More Information Needed] - **Paper [optional]:** [More Information Needed] - **Demo [optional]:** [More Information Needed] ## Uses Learn and get experience to use fine tuning technology and learn how to inplement such fine tuning technologies ### Direct Use No intension to be used with such case ### Downstream Use [optional] [More Information Needed] ### Out-of-Scope Use This code is only for students and trainee fo AI implementation. Not fully tested for the actual project use case ## Bias, Risks, and Limitations This program and updated file is generated by the code by Yohei Kobayashi for training coase by Matsuo-lab @ Tokyo university. https://weblab.t.u-tokyo.ac.jp/lecture/course-list/large-language-model/ Please contact Matsuo-Lab if you plan to use this code and any files related to this project. ### Recommendations Any students who tries using LLM, this is very useful to understand and get started fromthe perspective of academic perpose Users (both direct and downstream) should be made aware of the risks, biases and limitations of the model. More information needed for further recommendations. ## How to Get Started with the Model Use the code below to get started with the model. from transformers import ( AutoModelForCausalLM, AutoTokenizer, BitsAndBytesConfig, ) from peft import PeftModel import torch from tqdm import tqdm import json HF_TOKEN = "Hugging Face Token" model_id = "" # < Model folder path adapter_id = "" # Hugging Face ID # QLoRA config bnb_config = BitsAndBytesConfig( load_in_4bit=True, bnb_4bit_quant_type="nf4", bnb_4bit_compute_dtype=torch.bfloat16, ) # Load model model = AutoModelForCausalLM.from_pretrained( model_id, quantization_config=bnb_config, device_map="auto", token = HF_TOKEN ) # Load tokenizer tokenizer = AutoTokenizer.from_pretrained(model_id, trust_remote_code=True, token = HF_TOKEN) model = PeftModel.from_pretrained(model, adapter_id, token = HF_TOKEN) datasets = [] with open("./elyza-tasks-100-TV_0.jsonl", "r") as f: item = "" for line in f: line = line.strip() item += line if item.endswith("}"): datasets.append(json.loads(item)) item = "" results = [] for data in tqdm(datasets): input = data["input"] prompt = f"""### Direction {input} ### Answers """ input_ids = tokenizer(prompt, return_tensors="pt").to(model.device) outputs = model.generate(**input_ids, max_new_tokens=512, do_sample=False, repetition_penalty=1.2,) output = tokenizer.decode(outputs[0][input_ids.input_ids.size(1):], skip_special_tokens=True) results.append({"task_id": data["task_id"], "input": input, "output": output}) results = [] for data in tqdm(datasets): input = data["input"] prompt = f"""### 指示 {input} ### 回答 """ tokenized_input = tokenizer.encode(prompt, add_special_tokens=False, return_tensors="pt").to(model.device) attention_mask = torch.ones_like(tokenized_input) with torch.no_grad(): outputs = model.generate( tokenized_input, attention_mask=attention_mask, max_new_tokens=100, do_sample=False, repetition_penalty=1.2, pad_token_id=tokenizer.eos_token_id )[0] output = tokenizer.decode(outputs[tokenized_input.size(1):], skip_special_tokens=True) results.append({"task_id": data["task_id"], "input": input, "output": output}) import re jsonl_id = re.sub(".*/", "", adapter_id) with open(f"./{jsonl_id}-outputs.jsonl", 'w', encoding='utf-8') as f: for result in results: json.dump(result, f, ensure_ascii=False) # ensure_ascii=False for handling non-ASCII characters f.write('\n') ## Training Details Used "Ichikara Instruction" ichikara-instruction-003-001-1.json ### Training Data https://liat-aip.sakura.ne.jp/wp/llmのための日本語インストラクションデータ作成/llmのための日本語インストラクションデータ-公開/ ### Training Procedure PEFT LoRA rank : 16 Scaling factor : lora_alpha 32 Dropout ratio : 0.05 No Bias #### Preprocessing [optional] [More Information Needed] #### Training Hyperparameters #### Speeds, Sizes, Times [optional] 36:53 864/864 Epoch 0/1 ## Evaluation elyza-tasks-100-TV_0.jsonl ### Testing Data, Factors & Metrics elyza-tasks-100 with latest TV and TV show related information #### Testing Data [More Information Needed] #### Factors [More Information Needed] #### Metrics accuracy with limiteation of model execution time [More Information Needed] ### Results [More Information Needed] #### Summary ## Model Examination [optional] [More Information Needed] ## Environmental Impact CPU memory : 48GB GPU: L4 (24G) Carbon emissions can be estimated using the [Machine Learning Impact calculator](https://mlco2.github.io/impact#compute) presented in [Lacoste et al. (2019)](https://arxiv.org/abs/1910.09700). - **Hardware Type:** [More Information Needed] - **Hours used:** [More Information Needed] - **Cloud Provider:** [More Information Needed] - **Compute Region:** [More Information Needed] - **Carbon Emitted:** [More Information Needed] ## Technical Specifications [optional] ### Model Architecture and Objective [More Information Needed] ### Compute Infrastructure [More Information Needed] #### Hardware [More Information Needed] #### Software Python 3.10.6 ## Citation [optional] **BibTeX:** [More Information Needed] **APA:** [More Information Needed] ## Glossary [optional] [More Information Needed] ## More Information [optional] [More Information Needed] ## Model Card Authors [optional] [More Information Needed] ## Model Card Contact [More Information Needed]