CarperAI / CarperAI/trlx

Integration of Self-Play Fine-Tuning (SPIN) Method for Enhancing Large Language Models

Open
#588 0 comments 0 reactions 0 assignees View on GitHub
feature request
Dominant language
Python
Stars
4.8k
Forks
487
PR merge metrics
No merged PRs in 30d

Description

### 🚀 The feature, motivation, and pitch

The recent paper, **"Self-Play Fine-Tuning Converts Weak Language Models to Strong Language Models," presents a novel method called Self-Play fIne-tuNing** (`SPIN`). This method significantly improves the performance of Large Language Models (LLMs) without additional human preference or AI-feedback data. I'm currently working on language model enhancement and believe integrating SPIN into the TRX1 library could greatly benefit the community. SPIN starts with a supervised fine-tuned model and utilizes self-play, where the LLM refines its capabilities by playing against instances of itself. This approach allows LLMs to generate their own training data from previous iterations, discerning these self-generated responses from human-annotated data, thus progressively improving the model. The integration of SPIN into TRX would enable researchers and developers to easily enhance their LLMs, potentially achieving human-level performance without the need for extensive annotated datasets.

[Arxiv](https://arxiv.org/pdf/2401.01335.pdf)

### Alternatives

x

### Additional context

The SPIN method has been theoretically proven and empirically evaluated on several benchmarks, including the HuggingFace Open LLM Leaderboard, MT-Bench, and datasets from Big-Bench. The results show that SPIN can significantly improve LLM performance across a variety of tasks, even outperforming models trained through direct preference optimization supplemented with extra GPT-4 preference data. Integrating this method into the TRX could open up new possibilities for enhancing LLMs efficiently.

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.