Quick Start

Language Model (LM)

Supervised Fine-Tuning (SFT)

fairseq2 lm instruction_finetune $OUTPUT_DIR --config \
    dataset.path=/datasets/facebook/fairseq2-lm-gsm8k/sft \
    dataset.max_num_tokens=4096 \
    model.name=llama3_2_1b \
    trainer.dtype=float16 \
    regime.num_steps=1000 \
    regime.num_data_epochs=20 \
    regime.checkpoint_every_n_steps=1000

Read more about this recipe in End-to-End Fine-Tuning.

Preference Optimization (PO)

fairseq2 lm preference_finetune $OUTPUT_DIR --config \
    dataset.path=/datasets/facebook/fairseq2-lm-gsm8k/dpo \
    model.name=llama3_2_1b \
    trainer.dtype=float16 \
    regime.num_steps=1000 \
    regime.num_data_epochs=20 \
    regime.checkpoint_every_n_steps=1000

Read more about this recipe in Preference Optimization.

Generating Text

After fine-tuning a language model, you can generate text with the following command:

CKPT_DIR="/checkpoint/$USER/experiments/$EXPERIMENT_NAME/checkpoints"
SAVE_DIR="$CKPT_DIR/generation"
DATASET="/datasets/facebook/fairseq2-lm-gsm8k/test/test.jsonl"

fairseq2 lm generate $SAVE_DIR --no-sweep-dir --config \
    common.assets.checkpoint_dir=$CKPT_DIR \
    model.name="last_checkpoint" \
    seq_generator.config.temperature=0.1 \
    dataset.path=$DATASET

See Also