BLOOM (language model) (PL)

From Systems analysis Wiki
Jump to navigation Jump to search

BLOOM (BigScience Large Open-science Open-access Multilingual Language Model) — to duży model językowy (LLM) z otwartym dostępem, zawierający 176 miliardów parametrów. Został opracowany w 2022 roku w ramach projektu BigScience — międzynarodowej współpracy ponad 1000 badaczy z 70 krajów pod egidą firmy Hugging Face[1].

BLOOM jest autoregrersyjnym modelem transformer, zdolnym do generowania spójnego tekstu w 46 językach naturalnych i 13 językach programowania. Model został wytrenowany na superkomputerze Jean Zay we Francji i stał się jedną z pierwszych prawdziwie otwartych alternatyw dla zamkniętych modeli, takich jak GPT-3 od OpenAI[2].

Geneza i rozwój

Inicjatywa BigScience została uruchomiona w maju 2021 roku z celem demokratyzacji badań w dziedzinie AI poprzez wspólne stworzenie dużego otwartego modelu językowego[1]. W tamtym czasie czołowe LLM, takie jak GPT-3, były rozwijane w zamkniętej formule przez duże firmy, które nie ujawniały architektury, danych treningowych ani kodu źródłowego. Projekt BigScience zrzeszył ponad tysiąc badaczy-wolontariuszy z całego świata w celu stworzenia konkurencyjnego i w pełni otwartego modelu.

Projekt otrzymał grant na zasoby obliczeniowe na francuskim superkomputerze Jean Zay (IDRIS/CNRS). Trenowanie modelu odbywało się od 11 marca do 6 lipca 2022 roku[3]. Prace prowadzono z maksymalną przejrzystością: zespół publikował informacje o doborze danych, ustawieniach treningu i prowadził publiczne dyskusje, przestrzegając przyjętej przez projekt karty etycznej.

Architektura i trening

Architektura modelu

BLOOM oparty jest na architekturze transformer typu autoregrresyjnego (decoder-only), analogicznej do modelu GPT-3[2].

Charakterystyka architektury BLOOM[4]
Parametr Charakterystyka
Typ Transformer decoder-only
Parametry 176 247 271 424
Warstwy (layers) 70
Głowice uwagi 112
Rozmiar stanu ukrytego 14 336
Długość sekwencji 2048 tokenów
Funkcja aktywacji GeLU; kodowania pozycyjne ALiBi

Model został zaimplementowany na bazie frameworków Megatron-LM i DeepSpeed, opracowanych odpowiednio przez Nvidia i Microsoft, z szeregiem modyfikacji umożliwiających efektywne rozproszone trenowanie[5].

Dane treningowe

BLOOM został wytrenowany na specjalnie stworzonym korpusie danych tekstowych ROOTS (The Responsible Open-science Open-collaboration Text Sources). Łączny wolumen danych wyniósł 1,6 terabajta oczyszczonego i zdeduplikowanego tekstu (≈366 mld tokenów)[6].

Korpus zawiera teksty w 59 językach:

  • 46 językach naturalnych, w tym angielskim (30% tokenów), chińskim, francuskim, hiszpańskim, arabskim oraz wielu językach o ograniczonych zasobach (np. Chi Tumbuka — 0,00002% tokenów).
  • 13 językach programowania, w tym Python, Java, JavaScript i C++.

Tak wielojęzyczny i wielodziedzinowy dataset został zebrany celowo, aby model był użyteczny dla szerokiego kręgu społeczności językowych.

Wydajność i zastosowanie

BLOOM osiąga konkurencyjne wyniki na różnorodnych benchmarkach, porównywalne z modelami podobnej wielkości, takimi jak OPT-175B od Meta, pomimo swojej wielojęzyczności[2].

Model jest zdolny do wykonywania szerokiego zakresu zadań w trybie zero-shot (bez dodatkowego trenowania), w tym:

  • Generowania tekstu w zadanym stylu.
  • Streszczania dokumentów.
  • Odpowiadania na pytania na podstawie kontekstu.
  • Tłumaczenia między językami.
  • Generowania prostego kodu programistycznego.

Aby poprawić praktyczną użyteczność, zespół BigScience przeprowadził później dodatkowe wielozadaniowe fine-tuning modelu, tworząc wersję BLOOMZ, która dokładniej realizuje instrukcje użytkownika.

Licencjonowanie i otwarty dostęp

Pełny 176-miliardowy model BLOOM, jego kod źródłowy i dane zostały opublikowane w lipcu 2022 roku. Model jest dystrybuowany na specjalnie opracowanej licencji RAIL (Responsible AI License) v1.0[7].

Licencja ta zezwala na bezpłatne używanie i modyfikowanie modelu, jednak nakłada szereg ograniczeń dotyczących jego stosowania w określonych obszarach. W szczególności zabrania się używania BLOOM w celach sprzecznych z normami etycznymi BigScience, takich jak:

  • Masowa inwigilacja.
  • Dyskryminacja algorytmiczna.
  • Rozpowszechnianie dezinformacji.
  • Zarządzanie bronią śmiercionośną.

BLOOM stał się pierwszym dużym modelem AI wydanym na licencji z wyraźnymi klauzulami dotyczącymi odpowiedzialnego użytkowania[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.

Przypisy

  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]