Как работает ChatGPT: объясняем на простом русском эволюцию языковых моделей начиная от T9

В последнее время нам почти каждый день рассказывают в новостях, как языковые нейросетки уже вот-вот совершенно точно оставят лично вас без работы. При этом мало кто понимает – а как вообще нейросети вроде ChatGPT работают внутри? Так вот, устраивайтесь поудобнее: в этой статье мы наконец объясним всё так, чтобы понял даже шестилетний гуманитарий!

OpenAI – компанию, сделавшую ChatGPT, – основали в 2015 году вот эти двое парнишек: Сэм Альтман и Илон Маск (кто бы тогда знал, во что это в итоге выльется...)
864864

Большое спасибо за статью, было интересно.

Disclaimer: я понимаю, что это не habr, но не могу не задать следующий вопрос.

> Думаю, если вам для каждого слова в разговоре пришлось бы решать по уравнению на полтора миллиарда параметров, то вы бы тоже стояли с примерно таким же лицом лица

Касательно GPT-2 (±1.5 млрд. параметров) и GPT-3 (175 млрд. параметров). Человеческий мозг содержит по разным оценкам 85-100 млрд. нейронов (wiki [1]). Это именно нейроны, каждый из них имеет порядка 10^3 - 10^4 связей (пример источника [2]). То есть параметров для обучения в человеческом организме получается на самом деле порядка 100 триллионов (или почти квадриллион). Что я упустил (в расчетах) или когда ожидать (по мнению авторов) увеличения модели в 100x для того, чтобы догнать человека разумного?

[1] https://ru.wikipedia.org/wiki/%D0%93%D0%BE%D0%BB%D0%BE%D0%B2%D0%BD%D0%BE%D0%B9_%D0%BC%D0%BE%D0%B7%D0%B3_%D1%87%D0%B5%D0%BB%D0%BE%D0%B2%D0%B5%D0%BA%D0%B0
[2] https://zdrav.expert/index.php/%D0%A1%D1%82%D0%B0%D1%82%D1%8C%D1%8F:%D0%9C%D0%BE%D0%B7%D0%B3_%D1%87%D0%B5%D0%BB%D0%BE%D0%B2%D0%B5%D0%BA%D0%B0

2
Ответить

Ооо, Алексей, привет из далеких времен курсов по бигдате в x5 0/ рад что заглянул)

На самом деле упущений нет, примерно так и выходит, но стоит еще помнить, что помимо прямой деятельности значимая часть мозга уходит на "подковерные" вещи для работы всего организма + неотслеживаемый мыслительный процесс. Так что, возможно, для таких сравнений нужно будет не в 500 раз (200B vs 100T) вырастить модель, а в 100 (как 20%).

Однако мне самому аналогия с человеческим или животным мозгом не нравится, я предпочитаю избегать её. Да, отдельные концепты в нейросетях переняты от человека, мы как бы свои "удачные" механизмы внедряем как априорные знания. Но эти похожие вещи очень условно можно называть одинаковыми. То есть концепция нейрона из головы слабо переносится на концепцию нейрона в нейросети. Поэтому сравнивать сложно, не говоря уж про то, что в текущем виде "синапсы" отрастать у нейронки не умеют - то есть чтобы она сама находила связи с другими нейронами, и этот процесс был эффективным (сейчас-то каждый нейрон условно связан со всеми остальными, и теми что раньше, и теми что позже в нейронке. Просто эта связь может быть очень слабой).

На вопрос "когда" у меня ответа нет, если модели размера 3-4 миллиарда еще реально пощупать, пообучать, то дальше - это уже очень сложная задача, для которой нужна команда инженеров и девопсов для обслуживания инфры. Даже в России, вон, Яндекс сделал свой отдельный суперкомпьютер, чтобы обучить языковую модель на 100B параметров. Мой поинт в том, что очень мало людей в мире может сделать такую прикидку, основываясь на хоть какой-то фактуре, и я не в их числе, поэтому тут чистая спекуляция. В моей картине мира условная GPT-4 не будет следовать слухам про "100 триллионов", резонный размер - up to 5T, и то не в sparse, а не dense режиме (то есть не все параметры задействуют во время генерации, модель сама выбирает слои, через которые делать форвард-пасс). Тут я увидtл частичное противоречие своему же тезису выше про ""синапсы отрастать у нейронки не умеют", и да, получается, что некий аналог есть.

На картинке ниже - как раз принцип работы микстуры экспертов, sparse-модели. Микустура экспертов - это когда вместо каждого блока трансформера их, скажем, 100, но применяться будет всего 1 - и есть отдельная маленькая нейросеть (Router), которая предсказывает, какой из этих 100 лучше использовать. Самый просто способ про это думать - это что разные эксперты отвечают за разные языки и за разные области знаний. Если спросить на немецком про историю Берлинской стены - будет использовать эксперт номер 8, например, а если про Пушкина - номер 19. За счёт того, что эти блоки параллельные, их можно делать много, и это и приводит к триллионам параметров. Однако число параметров, используемых во время генерации, будет пропорционально количеству слоев, а не кол-ву слоёв*кол-во блоков (используем по 1 эксперту за раз)

6
Ответить

Добавлю сложность) Каждая нейронная связь между собой посредством непредсказуемых разных сочетаний 20 химическим элементов. Кроме того каждый нейрон, каждый день случайным образом образует 2-3 новых связей с другими случайными нейронами, а также подобно разрывает 2-3 других связей. Мозг динамическая система. По цифрам у вас не соглашусь, беру инфу из книг профессора Савельева НИИ морфологии человека

2
Ответить