模型:
OpenAssistant/falcon-7b-sft-top1-696
本模型是TII的 Falcon 7B LLM的微调版本。它使用了11123个顶级(高质量)OASST数据集示范(于2023年6月2日导出),批处理大小为128,进行了8个周期的训练,使用了LIMA风格的Dropout(p=0.2),并且上下文长度为2048个标记。
用两个特殊的标记来标记用户和助手的回合的开头: <|prompter|> 和 <|assistant|>。每个回合以一个<|endoftext|>标记结束。
输入示例:
<|prompter|>What is a meme, and what's the history behind this word?<|endoftext|><|assistant|>
以<|assistant|>标记结束输入,以提示模型开始生成助手的回复。
from transformers import AutoTokenizer import transformers import torch model = "OpenAssistant/falcon-7b-sft-top1-696" tokenizer = AutoTokenizer.from_pretrained(model) pipeline = transformers.pipeline( "text-generation", model=model, tokenizer=tokenizer, torch_dtype=torch.bfloat16, trust_remote_code=True, device_map="auto", ) input_text="<|prompter|>What is a meme, and what's the history behind this word?<|endoftext|><|assistant|>" sequences = pipeline( input_text, max_length=500, do_sample=True, return_full_text=False, top_k=10, num_return_sequences=1, eos_token_id=tokenizer.eos_token_id, ) for seq in sequences: print(f"Result: {seq['generated_text']}")
模型:
falcon-7b: dtype: bf16 log_dir: "falcon_log_7b" learning_rate: 1e-5 model_name: "tiiuae/falcon-7b" deepspeed_config: configs/zero_config.json output_dir: falcon weight_decay: 0.0 max_length: 2048 save_strategy: steps eval_steps: 80 save_steps: 80 warmup_steps: 20 gradient_checkpointing: true gradient_accumulation_steps: 4 per_device_train_batch_size: 4 per_device_eval_batch_size: 8 num_train_epochs: 8 save_total_limit: 4 residual_dropout: 0.2 residual_dropout_lima: true
数据集:
oasst-top1: # oasst_export: 11123 (100.00%) datasets: - oasst_export: lang: "bg,ca,cs,da,de,en,es,fr,hr,hu,it,nl,pl,pt,ro,ru,sl,sr,sv,uk" # sft-8.0 input_file_path: 2023-06-02_oasst_all_labels.jsonl.gz val_split: 0.05 top_k: 1
训练命令:
deepspeed trainer_sft.py --configs defaults falcon-7b oasst-top1 --cache_dir <data_cache_dir> --output_dir <output_path> --deepspeed
导出命令:
python export_model.py --dtype bf16 --hf_repo_name OpenAssistant/falcon-7b-sft-top1 --trust_remote_code --auth_token <auth_token> <output_path> --max_shard_size 2GB