Предобучи, потом подстрой/pretrain then finetune

Aug 16, 2019 19:32

Текущий тренд в работе с естественным языком -- это использование языковых моделей. Берётся огромная пустая нейронная сетка, и ей скармливается огромный (gargantuan) корпус текстов на всех доступных языках. В этих текстах отражены какие-то свойства языков в целом (кормят текстами отнюдь не только одного языка), а также свойства мира (ибо все эти тексты о чём-то в мире) -- сетка выучивает что-то общее про языки и мир. Это называется pretrain, предобучение. И занимает или огромное время, или огромные деньги (рекорд сегодня -- это обучение языковой модели BERT всего за 53 минуты -- но на 1472 GPU V100, это 92 компьютера DGX-2H ценой $399тыс., то есть там только аппаратуры для этого почти часового счёта на почти $40млн, https://devblogs.nvidia.com/training-bert-with-gpus/). Итого: pretrain даёт какие-то знания о языке и мире, но фишка в том, что такая сетка не может при этом решать никаких прикладных задач. Про задачи и конкретные предметные области эта сетка ничего не знает.

Так что потом идёт finetune, подстройка -- берётся эта безумно дорогая language model и очень быстро и дёшево доучивается решать одну или даже десять конкретных прикладных задач. Фишка в том, что дорогое предобучение делается один раз, а потом подстройка делается легко и быстро каждый раз. За последний год такой подход предобучения+настройки стал мейнстримом в deep learning (см., например, Pretrain then Finetune: A New Paradigm for NLP -- https://www.mihaileric.com/posts/nlp-trends-acl-2019/).

Всегда говорил, что deep learning даёт хороший язык для разговора об обучении, хорошие модельки -- лучше, чем у профессиональных педагогов. Так что этот мейнстрим глубокого обучения позволяет относительно просто рассказать, чем же мы занимаемся в Школе системного менеджмента.

Мы в ШСМ занимаемся предобучением, то есть формируем самые общие фундаментальные знания о мире (язык-то все уже знают, именно языковой модели учить не нужно, но вот надёжной и компактной модели мира, мышления и себя у большинства людей). Так что мы предобучаем мокрую нейросетку наших курсантов. При этом мы ещё и хорошо структурируем наш материал, что в мире deep learning только-только собираются делать с использованием knowledge graphs или других символьных методов.

А потом получение прикладных компетенций на базе нашего предобучения -- это лёгкая и быстрая подстройка, и результат этой подстройки будет state-of-the-art, и подстройка эта может легко делаться в самых разных прикладных областях, для решения самых разных задач. Наши курсанты продолжают учиться и работать, но после нашего предобучения дальше идёт не столько тяжёлое "обучение", сколько облегчённая подстройка.

У нас же не слишком дешёвое, не слишком быстрое, ни разу не прикладное (а наборот: общее для всего прикладного!) качественно предобучение, без которого подстраивать потом по факту будет нечего. Мы формируем в мозгу общие для всех прикладных областей:
-- модель мышления о себе, мире и описаниях мира (методологические дисциплины -- онтологика, системное, научное, вычислительное мышление),
-- модель человеческой деятельности (деятельностный кругозор -- системная инженерия, менеджмент, предпринимательство)
(т.е. фундаментального образования и деятельностного кругозора
-- модель себя, любимого: как обходиться с собственной психикой и телом (когнитивистские дисциплины -- ролевое мастерство, системный фитнес, прокрастинология и глубокая работа)

А подстройка? Подстройку могут дать все тысячи и тысячи прикладных учебных заведений. Это дёшево, это быстро, это понятно. Но они не могут обеспечить предобучения. Они могут обеспечить только подстройку. А за предобучением -- это к нам.

UPDATE: обсуждение в фейсбуке -- https://www.facebook.com/ailevenchuk/posts/10216049880013850
Previous post Next post
Up