BLOOM (language model) (CS)

From Systems analysis Wiki
Jump to navigation Jump to search

BLOOM (BigScience Large Open-science Open-access Multilingual Language Model) — je velký jazykový model (LLM) s otevřeným přístupem obsahující 176 miliard parametrů. Byl vyvinut v roce 2022 v rámci projektu BigScience — mezinárodní spolupráce více než 1000 výzkumníků ze 70 zemí pod záštitou společnosti Hugging Face[1].

BLOOM je autoregresivní model-transformer schopný generovat souvislý text v 46 přirozených jazycích a 13 programovacích jazycích. Model byl trénován na superpočítači Jean Zay ve Francii a stal se jednou z prvních skutečně otevřených alternativ k uzavřeným modelům, jako je GPT-3 od OpenAI[2].

Předhistorie a vývoj

Initiativa BigScience byla spuštěna v květnu 2021 s cílem demokratizovat výzkum v oblasti AI prostřednictvím společného vytvoření velkého otevřeného jazykového modelu[1]. V té době byly přední LLM, jako GPT-3, vyvíjeny uzavřeně ve velkých společnostech, které nezveřejňovaly architekturu, trénovací data ani zdrojový kód. Projekt BigScience spojil více než tisíc dobrovolných výzkumníků z celého světa za účelem vytvoření konkurenceschopného a plně otevřeného modelu.

Projekt získal grant na výpočetní zdroje na francouzském superpočítači Jean Zay (IDRIS/CNRS). Trénování modelu probíhalo od 11. března do 6. července 2022[3]. Vývoj byl veden maximálně transparentně: tým zveřejňoval informace o výběru dat, nastavení trénování a pořádal veřejné diskuse v souladu s přijatou etickou chartou projektu.

Architektura a trénování

Architektura modelu

BLOOM je postaven na architektuře transformeru autoregresivního typu (decoder-only), analogické modelu GPT-3[2].

Architektonické charakteristiky BLOOM[4]
Parametr Charakteristika
Typ Transformer pouze s dekodérem
Parametry 176 247 271 424
Vrstvy (layers) 70
Hlavy pozornosti 112
Velikost skrytého stavu 14 336
Délka sekvence 2048 tokenů
Aktivační funkce GeLU; poziční kódování ALiBi

Model byl implementován na základě frameworků Megatron-LM a DeepSpeed, vyvinutých společnostmi Nvidia a Microsoft, s řadou úprav pro efektivní distribuované trénování[5].

Trénovací data

BLOOM byl natrénován na speciálně vytvořeném korpusu textových dat ROOTS (The Responsible Open-science Open-collaboration Text Sources). Celkový objem dat činil 1,6 terabajtu vyčištěného a deduplikovaného textu (≈366 miliard tokenů)[6].

Korpus obsahuje texty v 59 jazycích:

  • 46 přirozených jazyků, včetně angličtiny (30 % tokenů), čínštiny, francouzštiny, španělštiny, arabštiny a řady jazyků s malým množstvím zdrojů (například Chi Tumbuka — 0,00002 % tokenů).
  • 13 programovacích jazyků, včetně Pythonu, Javy, JavaScriptu a C++.

Takový vícejazyčný a vícedoménový dataset byl sestaven záměrně, aby byl model vhodný pro široké spektrum jazykových komunit.

Výkonnost a využití

BLOOM vykazuje konkurenceschopné výsledky na různých benchmarcích, srovnatelné s modely podobné velikosti, jako je OPT-175B od Meta, a to navzdory své vícejazyčnosti[2].

Model je schopen plnit širokou škálu úloh v režimu zero-shot (bez dodatečného trénování), včetně:

  • Generování textu v zadaném stylu.
  • Sumarizace dokumentů.
  • Odpovídání na otázky v kontextu.
  • Překladu mezi jazyky.
  • Generování jednoduchého programového kódu.

Pro zlepšení praktické využitelnosti tým BigScience později provedl dodatečné multitaskové doladění (fine-tuning) modelu a vytvořil verzi BLOOMZ, která přesněji sleduje pokyny uživatele.

Licencování a otevřený přístup

Úplný 176miliardový model BLOOM, jeho zdrojový kód a data byly zveřejněny v červenci 2022. Model je šířen pod speciálně vytvořenou licencí RAIL (Responsible AI License) v1.0[7].

Tato licence umožňuje bezplatné používání a úpravu modelu, ale ukládá řadu omezení na jeho využití v určitých oblastech. Konkrétně je zakázáno používat BLOOM k účelům, které jsou v rozporu s etickými normami BigScience, jako jsou:

  • Hromadné sledování.
  • Algoritmická diskriminace.
  • Šíření dezinformací.
  • Řízení smrtících zbraní.

BLOOM se stal prvním velkým modelem AI vydaným pod licencí s výslovnými podmínkami odpovědného využívání[8].

Literatura

  • Hendrycks, D.; Gimpel, K. (2016). Gaussian Error Linear Units (GELUs). arXiv:1606.08415.
  • Shoeybi, M.; et al. (2019). Megatron‑LM: Training Multi‑Billion Parameter Language Models Using Model Parallelism. arXiv:1909.08053.
  • Rajbhandari, S.; et al. (2020). ZeRO: Memory Optimizations Toward Training Trillion Parameter Models. arXiv:1910.02054.
  • Press, O.; et al. (2021). Train Short, Test Long: Attention with Linear Biases Enables Input Length Extrapolation. arXiv:2108.12409.
  • Le Scao, T.; et al. (2022). BLOOM: A 176B‑Parameter Open‑Access Multilingual Language Model. arXiv:2211.05100.
  • Muennighoff, N.; et al. (2022). BLOOMZ & mT0: A Cross‑Lingual Baseline for Instruction Finetuning. arXiv:2211.01786.
  • BigScience Workshop (2022). BigScience OpenRAIL‑M License v1.0. Online specification.
  • Akiki, C.; et al. (2022). BigScience: A Case Study in the Social Construction of a Multilingual Large Language Model. arXiv:2212.04960.
  • Yong, Z.‑X.; et al. (2022). BLOOM+1: Adding Language Support to BLOOM for Zero‑Shot Prompting. arXiv:2212.09535.
  • Biderman, S.; et al. (2023). The BigScience ROOTS Corpus: A 1.6 TB Composite Multilingual Dataset. arXiv:2303.03915.

Poznámky

  1. 1.0 1.1 «BLOOM». BigScience Blog. [1]
  2. 2.0 2.1 2.2 Le Scao, T., et al. (2022). «BLOOM: A 176B-Parameter Open-Access Multilingual Language Model». arXiv:2211.05100. [2]
  3. «Researchers open-source neural network with 176B parameters». SiliconANGLE. [3]
  4. «bigscience/bloom». Hugging Face. [4]
  5. «The Technology Behind BLOOM Training». Hugging Face Blog. [5]
  6. Biderman, S. et al. (2023). «The BigScience ROOTS Corpus: A 1.6 TB Composite Multilingual Dataset». arXiv:2303.03915. [6]
  7. «BigScience OpenRAIL-M». BigScience Blog. [7]
  8. Heikkilä, M. «BLOOM is the first AI model to be under a...». X. [8]