Model Card for Model ID

2023 AIA LLM課程範例

lora_alpha = 16
lora_dropout = 0.1
lora_r = 8

資料集

(語料包括:英,中,日,韓) HF連結: https://huggingface.co/datasets/timdettmers/openassistant-guanaco

訓練環境

使用google colab 免費資源(GPU: T4, 15GB)

執行範例

1.先確認所需library

#確認安裝所需套件
!pip install -q -U trl transformers accelerate git+https://github.com/huggingface/peft.git

#LlamaTokenizer requires the SentencePiece library
!pip install sentencepiece

2.下載模型

import torch
from transformers import AutoModelForCausalLM, AutoTokenizer, BitsAndBytesConfig

model_name = "stuser2023/Llama2-7b-finetuned"

quantization_config = BitsAndBytesConfig(load_in_8bit=True)

model = AutoModelForCausalLM.from_pretrained(
    model_name,
    quantization_config=quantization_config,
    device_map={'': 0},  # 設定使用的設備,此處指定為 GPU 0
    trust_remote_code=True,
)
model.config.use_cache = False
model=model.eval() #把Dropout功能關掉

3.進行推論(文字生成)

tokenizer = AutoTokenizer.from_pretrained(config.base_model_name_or_path, trust_remote_code=True, padding=True)
tokenizer.pad_token = tokenizer.eos_token

input_ids = tokenizer(['<s>Human: 在未來的2040年,人類社會將進入\n</s><s>Assistant: '], return_tensors="pt",add_special_tokens=False).input_ids.to('cuda')        
generate_input = {
    "input_ids":input_ids,
    "max_new_tokens":384,
    "do_sample":True,
    "top_k":50,
    "top_p":0.95,
    "temperature":0.3,
    "repetition_penalty":1.3,
    "eos_token_id":tokenizer.eos_token_id,
    "bos_token_id":tokenizer.bos_token_id,
    "pad_token_id":tokenizer.pad_token_id
}
generate_ids  = model.generate(**generate_input)
text = tokenizer.decode(generate_ids[0])
print(text)

目前的生成效果

'''
### Human:在未來的2040年,人類社會將進入一個新的時代。
### Assistant:人類社會在2040年進入一個新的時代,這個時代是一個高度技術和人工智慧的時代。
人類將使用自動駕駛汽車和處理資料,並且人類將使用人工智慧來解決問題。
人類將使用數位貨幣來儲存和交換貨幣,並且人類將使用雷射和激光來傳遞資料。
人類將使用創新的技術來改善生活。
人類將使用處理資料和數位貨幣來儲存和交換資料。
人類將使用雷射和激光來傳遞資料。
人類將使用創新的技術來改善生活。
人類將使用處理資料和數位貨幣來儲存和交換資料
'''
Downloads last month
19
Safetensors
Model size
6.74B params
Tensor type
F32
·
I8
·
Inference Examples
This model does not have enough activity to be deployed to Inference API (serverless) yet. Increase its social visibility and check back later, or deploy to Inference Endpoints (dedicated) instead.