deepspeedai / deepspeedai/DeepSpeedExamples

Modifying step 1 supervised fine-tuning for non-chat datasets?

Open
#641 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Python
Stars
6.8k
Forks
1.1k
Avg merge
2d 16h
Merged PRs (30d)
1

Description

This is a pretty silly question, but I wanted to confirm if the step 1 SFT scripts such as this one can be modified to fine-tune models for non-chat datasets. So, if I were to use inputs without the Human: Assistant: format, and just have inputs which are paragraphs of text, is that fine?

From what I can see, I would just need to create a custom PromptRawDataset class. I would then make get_prompt_and_chosen() load the text, and also set --data_split 10,0,0. Is this correct?

For my use case, I am basically trying to reproduce some of the experiments of the BLOOMZ paper, at a very small scale. I'm starting from bigscience/bloomz-3b, and fine-tuning on some multilingual tasks. If I can use the deepspeed examples here, it would be great.

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with the linked step 1 script, then inspect the PromptRawDataset interface and the --data_split handling mentioned in the issue. Determine whether paragraph-only multilingual data can use the existing SFT flow or requires a custom dataset class; done means the required changes and limitations are documented.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
machine-learning
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.