Wybór właściwego zbioru danych to pojedynczo największy czynnik udanego przebiegu fine-tuningu. Ten przewodnik przecina zamęt praktycznym frameworkiem decyzyjnym.
Pięć kategorii zbiorów danych
| Kategoria | Czym jest | Kiedy używać |
|---|---|---|
| Pretrening | Surowy tekst na masową skalę (sieć, książki, kod) | Trenowanie modelu od zera — wymaga 100B+ tokenów i poważnych klastrów GPU |
| Instrukcja | Pary prompt + odpowiedź uczące model podążania za instrukcjami | Najczęstszy cel fine-tuningu — zmienia model bazowy w asystenta |
| Preferencja | Pary wybrana/odrzucona odpowiedź dla dopasowania (RLHF/DPO) | Po SFT, gdy chcesz uczynić odpowiedzi bardziej pomocnymi, bezpiecznymi lub stylistycznie dopasowanymi |
| Kod | Kod źródłowy, problemy programistyczne i rozwiązania | Budowanie asystenta kodowania lub poprawa zdolności programistycznych modelu |
| Ewaluacja | Benchmarki mierzące możliwości modelu (nie do treningu) | Testowanie i porównywanie modeli — uruchom je po fine-tuningu, by zmierzyć poprawę |
Szybka tabela decyzyjna: cel → zbiór danych
| Twój cel | Kategoria | Najlepsze wybory |
|---|---|---|
| Stworzyć pomocnego asystenta czatu | Instrukcja | Stanford Alpaca, ShareGPT 52K, OpenHermes 2.5 |
| Nauczyć złożonego rozumowania | Instrukcja | WizardLM Evol Instruct 70k |
| Mały, ale potężny asystent | Instrukcja | LIMA (1k), Smoltalk |
| Zbudować asystenta kodowania | Kod | Magicoder-OSS-Instruct, CodeFeedback |
| Wstępnie wytrenować model kodu | Kod | The Stack v2 |
| Dopasować do preferencji ludzkich | Preferencja | Anthropic HH-RLHF, UltraFeedback |
| Szybki lokalny eksperyment DPO | Preferencja | DPO Mix 7K |
| Jakość rozmowy wieloturowej | Instrukcja | ShareGPT 52K |
| Zbenchmarkować dostrojony model | Ewaluacja | MMLU (wiedza), HumanEval (kod), MT-Bench (czat) |
Sygnały jakości zbioru danych
Nie wszystkie zbiory danych są równe. Oto jak ocenić jeden przed zaangażowaniem:
Dobre sygnały:
- Wysoka liczba miesięcznych pobrań (>500k sugeruje zaufanie społeczności)
- Poparty opublikowaną pracą z badaniami ablacyjnymi
- Jasna licencja (Apache 2.0 lub MIT do użytku komercyjnego, CC-BY-NC do badań)
- Udokumentowane jawne kroki deduplikacji i filtrowania jakości
- Przejrzyste źródło danych (napisane przez człowieka > GPT-3 > nieznany LLM)
Znaki ostrzegawcze:
- Brak określonej licencji
- „Wygenerowane przez GPT-4" bez filtrowania jakości
- Bardzo niska liczba pobrań dla starego zbioru
- Brak pracy, wpisu na blogu lub dokumentacji technicznej
- Zawiera tekst chroniony prawem autorskim zeskrobany bez pozwolenia
Jakość vs ilość: lekcja LIMA
Praca LIMA (2023) dokonała uderzającego odkrycia: model dostrojony na zaledwie 1000 starannie wyselekcjonowanych przykładach był konkurencyjny wobec modeli trenowanych na milionach przykładów z zaszumionych zbiorów.
Kluczowy wniosek: dopasowanie powierzchniowe jest płytkie. Modele mają już wiedzę o świecie z pretreningu. Fine-tuning uczy formatu i stylu, nie nowych faktów. Mały, wysokiej jakości zbiór (200–1000 przykładów) często przewyższa duży, zaszumiony (100k+).
Praktyczna zasada: Zacznij od 500–2000 wysokiej jakości przykładów specyficznych dla Twojego zadania. Skaluj tylko wtedy, gdy wyczerpią się dobre przykłady.
Gdzie znaleźć więcej zbiorów danych
- Hugging Face Datasets — Szukaj według zadania, języka, licencji. Sortuj według pobrań.
- Papers With Code — Zbiory danych z powiązanymi pracami i tablicami wyników.
- r/LocalLLaMA — Społeczność co tydzień dzieli się nowymi zbiorami do fine-tuningu.
- DataComp — Systematyczny benchmark metod kuracji danych.
Budowanie własnego zbioru danych
Czasem najlepszy zbiór danych jeszcze nie istnieje. Oto minimalne wykonalne podejście:
1. Zdefiniuj precyzyjnie swoje zadanie — „obsługa klienta produktu SaaS" bije „pomocnego asystenta"
2. Zbierz 200–500 przykładów — realne pytania użytkowników + idealne odpowiedzi, lub syntetyzuj z Claude/GPT-4
3. Użyj formatu JSONL:
{"messages": [{"role": "user", "content": "How do I reset my password?"}, {"role": "assistant", "content": "Click 'Forgot Password' on the login page..."}]}
{"messages": [{"role": "user", "content": "Where can I find my invoice?"}, {"role": "assistant", "content": "Invoices are in Settings → Billing → Invoice History."}]}4. Iteruj na porażkach — po jednym przebiegu fine-tuningu zobacz, które typy zapytań model myli, dodaj więcej przykładów dla tych przypadków.
5. Mieszaj z danymi ogólnymi — połącz swoje własne dane 50/50 z ogólnym zbiorem instrukcji jak OpenHermes 2.5, by zapobiec katastrofalnemu zapominaniu.