Fine-tuning (deep learning) (HU)

From Systems analysis Wiki
Jump to navigation Jump to search

Finomhangolás (angolul Fine-tuning), más néven tónusbeállítás, — ez egy transzfer tanulási módszer a gépi tanulásban, amelynek során egy előre betanított modell (pre-trained model) paramétereit egy új, specifikus feladathoz igazítják. Ahelyett, hogy a modellt nulláról tanítanák be — ami hatalmas adatmennyiséget és számítási erőforrásokat igényel —, a finomhangolás lehetővé teszi a modell súlyaiban már kódolt tudás felhasználását és az adott igényekhez való „beállítását".

Ez a megközelítés de facto szabvánnyá vált a mélytanulás területén, különösen a nagy nyelvi modellek (LLM) és a számítógépes látás modelljeinek alkalmazásakor.

Koncepció

A finomhangolás folyamata két fő szakaszra osztható:

1. Előzetes betanítás (Pre-training): A modellt (például BERT vagy GPT) egy nagyon nagy és általános adatkészleten (például az egész interneten) tanítják be önfelügyelt feladattal (például a következő szó előrejelzése). Ebben a szakaszban a modell általános mintákat, szintaxist, szemantikát és világgal kapcsolatos ismereteket sajátít el.

2. Finomhangolás (Fine-tuning): Az előre betanított modellt alapként veszik, és súlyait egy kis, de a célfeladatra specifikus, felcímkézett adatkészleten finomhangolják.

A kulcsötlet az, hogy az előzetes betanítás során szerzett tudás univerzális, és sikeresen átvihető számos más, szűkebb feladat megoldásához.

A finomhangolás folyamata

A tipikus finomhangolási folyamat a következő lépésekből áll:

1. Az előre betanított modell kiválasztása: Olyan modellt választanak, amelynek alaplképességei megfelelnek a célfeladatnak (például BERT szövegértési feladatokhoz, GPT generáláshoz).

2. Az architektúra adaptálása: Az előre betanított modellhez egy új, „fej" réteget (head) adnak hozzá, amely a célfeladatra specifikus. Például:

  • Szövegosztályozáshoz egy egyszerű, teljesen összekötött réteget adnak hozzá softmax aktivációval.
  • Névelem-felismeréshez (NER) egy osztályozót adnak hozzá minden egyes token kimenetéhez.

3. Betanítás a célfeladat adatkészletén: A teljes modellt (vagy egy részét) az új, felcímkézett adatkészleten tanítják be. Ebben a szakaszban a modell súlyait — beleértve az előzetesen betanított rétegek súlyait is — gradiens-süllyedéssel frissítik az új feladaton vett veszteségfüggvény minimalizálása érdekében.

4. Alacsonyabb tanulási ráta alkalmazása: A finomhangolás során általában lényegesen alacsonyabb tanulási rátát használnak, mint az előzetes betanítás során. Ez azért szükséges, hogy ne „rombolják le" a modell súlyaiban már kódolt hasznos tudást, hanem csupán óvatosan korrigálják azt.

A finomhangolás típusai

Teljes finomhangolás (Full Fine-tuning)

  • Elv: Az előre betanított modell összes paraméterét frissítik az új „fej" réteggel együtt.
  • Előnyök: Potenciálisan a legjobb teljesítményt biztosítja, mivel a teljes modell alkalmazkodik az új feladathoz.
  • Hátrányok: Jelentős számítási erőforrásokat és memóriát igényel, mivel az összes paraméter gradiensét tárolni és frissíteni kell. Fennáll a katasztrofális felejtés kockázata, amikor a modell „elfelejti" az előzetes betanítás során szerzett általános tudást.

Paraméter-hatékony finomhangolás (Parameter-Efficient Fine-Tuning, PEFT)

Ez módszerek egy csoportja, amelyek célja a finomhangolás számítási költségeinek csökkentése. Az alapötlet az, hogy az előre betanított modell paramétereinek nagy részét befagyasztják, és csupán kis számú új vagy kiválasztott meglévő paramétert tanítanak be.

  • Példák PEFT módszerekre:
    • Adapterek (Adapters): A Transformer architektúrájába kis, kiegészítő adapter-rétegeket illesztenek be, és csak ezeket tanítják be.
    • LoRA (Low-Rank Adaptation): A teljes súlymátrixok frissítése helyett a LoRA azok alacsony rangú frissítéseit tanulja meg. Ez lehetővé teszi a tanítható paraméterek számának több ezerszeres csökkentését.
    • Prompt tuning (Prompt Tuning): A bemeneti adatokhoz tanítható vektor-„promptokat" adnak hozzá, amelyeket a feladat megoldásához hangolnak be, miközben maga a modell befagyasztva marad.
  • A PEFT előnyei:
    • Hatékonyság: Jelentősen csökkenti a memória- és számítási igényeket.
    • Modularitás: Lehetővé teszi, hogy egyetlen előre betanított modellt könnyen adaptáljanak számos feladathoz, csupán kis, adaptált súlykészleteket tárolva minden egyes feladathoz.

Utasítás-alapú finomhangolás (Instruction Tuning)

Ez egy specifikus finomhangolási típus, amelynek célja az LLM-ek természetes nyelvű utasítások követési képességének javítása.

  • Működési elv: A modellt olyan adatkészleten hangolják finomra, amely „utasítás — kívánt kimenet" párokból áll.
  • Cél: Javítani a modell általánosítási képességét új, korábban nem látott feladatokra, amelyek utasítás formájában írhatók le. Az olyan modellek, mint az InstructGPT és a FLAN-T5, ennek a megközelítésnek szemléletes példái.

Irodalom

  • Howard, J.; Ruder, S. (2018). Universal Language Model Fine-tuning for Text Classification. arXiv:1801.06146.
  • Houlsby, N. et al. (2019). Parameter-Efficient Transfer Learning for NLP. arXiv:1902.00751.
  • Pfeiffer, J. et al. (2020). AdapterFusion: Non-Destructive Task Composition for Transfer Learning. arXiv:2005.00247.
  • Hu, E. J. et al. (2021). LoRA: Low-Rank Adaptation of Large Language Models. arXiv:2106.09685.
  • Lester, B.; Al-Rfou, R.; Constant, N. (2021). The Power of Scale for Parameter-Efficient Prompt Tuning. arXiv:2104.08691.
  • Ben Zaken, A.; Goldberg, Y.; Ravfogel, S. (2022). BitFit: Simple Parameter-Efficient Fine-Tuning for Transformer-based Masked Language-Models. ACL 2022.
  • Ouyang, L. et al. (2022). Training Language Models to Follow Instructions with Human Feedback. arXiv:2203.02155.
  • Han, Z. et al. (2024). Parameter-Efficient Fine-Tuning for Large Models: A Comprehensive Survey. arXiv:2403.14608.
  • Bian, J. et al. (2025). A Survey on Parameter-Efficient Fine-Tuning for Foundation Models in Federated Learning. arXiv:2504.21099.
  • Li, X. et al. (2025). Revisiting Fine-Tuning: A Survey of Parameter-Efficient Techniques and Future Directions. Preprints.org.

Lásd még

  • Nagy nyelvi modellek
  • BERT
  • GPT