英文

Open-Assistant Falcon 7B SFT MIX Model

此模型是TII的 Falcon 7B LLM的微调版本。它是在OASST前2个线程(于2023年6月2日导出)、Dolly-15k和合成指令数据集的混合数据上进行训练的(请参见下面的数据集配置)。

模型详情

提示

有两个特殊标记用于标记用户和助手的对话开始:<|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-mix-2000"

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
  warmup_steps: 20
  gradient_checkpointing: true
  gradient_accumulation_steps: 4
  per_device_train_batch_size: 4
  per_device_eval_batch_size: 8
  eval_steps: 100
  save_steps: 500
  save_strategy: steps
  num_train_epochs: 8
  save_total_limit: 4
  residual_dropout: 0.2
  residual_dropout_lima: true

数据集:

sft9-stage2:
  # oasst_export: 100.00% (29899)
  # vicuna: 50.00% (16963)
  # code_alpaca: 50.00% (9510)
  # oa_wiki_qa_bart_10000row: 100.00% (9434)
  # grade_school_math_instructions: 100.00% (8351)
  # dolly15k: 100.00% (14250)

  use_custom_sampler: true
  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: 2
    - vicuna:
        fraction: 0.5
        val_split: 0.025
        max_val_set: 250
    - code_alpaca:
        fraction: 0.5
        val_split: 0.05
        max_val_set: 250
    - oa_wiki_qa_bart_10000row:
        val_split: 0.05
        max_val_set: 250
    - grade_school_math_instructions:
        val_split: 0.05
    - dolly15k:
        val_split: 0.05
        max_val_set: 300