Request for step-by-step SFT (single & multi-task) pipeline guidance for MFTCoder

Aberta
#91 0 comentários 0 reações 0 responsáveis Ver no GitHub

Ninguém assumiu esta issue ainda.

Avaliação

Dificuldade
5/5
Tempo estimado
Mais de uma semana
Facilidade para iniciantes
25/100
Tipo de issue
Documentação
Clareza
Precisa de esclarecimento
Status de atividade
Estagnada
Stack de tecnologia
python

Direção de pesquisa

Comece comparando as branches mftcoder_accelerate e mftcoder_atorch; em seguida, leia build_model.py e atorch_trainer.py para rastrear os pontos de entrada de SFT existentes. Documente os esquemas de dados solicitados, os comandos ou configurações de tarefa única e multitarefa, as opções de loss e avaliação e as orientações de reprodutibilidade; considera-se concluído quando uma pessoa nova consegue executar e avaliar ambas as variantes de SFT.

Escrita pelo modelo de indexação a partir do texto da issue.

Descrição

Hello MFTCoder authors 👋,

First, thank you for releasing MFTCoder: Boosting Code LLMs with Multitask Fine-Tuning and sharing the code. I’m a 3rd year PhD student currently attempting to reproduce your SFT experiments (both single-task and multi-task baselines) using the repo.

I’ve successfully set up the environment (conda, CUDA 12.x; multi-GPU available) and explored the repo (e.g., build_model.py, atorch_trainer.py). However, I’m still unclear on the exact SFT pipelines. Could you please clarify or provide a minimal set of example scripts/configs?

What I’m Hoping To Clarify

  1. Data Loading & Formats
    • Expected JSON/JSONL schema per task (fields for input/output, roles, label masking).
    • Where task IDs / TASK2ID are defined and how they map to datasets.

  2. SFT-Single (SFT-S-*)
    • One concrete command (e.g., CodeLlama-13B-Python + QLoRA) to fine-tune on a single task (e.g., text-to-code or code completion).
    • Example config/flags for:
    • optimizer, LR schedule
    • max sequence length
    • gradient accumulation
    • PEFT settings (LoRA/QLoRA)

  3. SFT-Mixed (Multi-task)
    • How to specify multiple datasets in one run (CLI flags vs config file).
    • Task sampling/mixing policy: uniform vs size-based?
    • How to switch between:
    • sample-count weighted loss
    • valid-token weighted loss
    • Any recommendations on per-task batch sizes or temperature scaling.

  4. Loss Functions
    • Confirmation that SFT experiments used cross-entropy with weighted loss.
    • Whether focal loss or FAMO were excluded in the official SFT baseline results.
    • The exact flag names to enable:
    • weighted by valid tokens
    • weighted by samples

  5. Evaluation
    • Commands to evaluate on:
    • HumanEval / HumanEval-X
    • MBPP
    • CodeFuseEval
    • pass@k evaluation protocol, execution-based scoring, and seeds for reproducibility.

  6. Reproducibility
    • Example run logs or expected training curves.
    • Early stopping criteria and typical step counts.
    • Any specific branches (e.g., mftcoder_accelerate vs mftcoder_atorch) that contain the canonical SFT scripts.

Linguagem predominante
Python
Estrelas
711
Forks
69
Métricas de merge de PRs
Nenhum PR com merge em 30d

Preparar o ambiente

Este projeto não oferece contêiner de desenvolvimento, Dockerfile nem guia de contribuição, então a configuração fica por sua conta: comece pelo README e veja nosso guia da primeira contribuição para os passos gerais.

Primeiros passos

  1. Leia a issue inteira e depois o guia de contribuição do projeto.
  2. Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
  3. Faça um fork do repositório e trabalhe em uma branch.
  4. Abra um pull request que referencie o número da issue.

Mais de codefuse-ai/MFTCoder

Todas as issues de codefuse-ai/MFTCoder

Issues semelhantes

Mais issues de Python

Receba novas issues na sua caixa de entrada

Um resumo curto de issues do GitHub para quem está começando.