Я тоже с этим экспериментирую - пытаюсь обучить небольшую русско-английскую модель с нуля для написания длинных текстов по аннотации, названию, теме, плану, списку вопросов и т.д. Для этого учителями работают три модели: TinyLLaMA 1B и QWEN05B которые генерируют основной текст и YandexGPT Lite 8B которая формирует сжатую информацию (тема текста, ключевой вопрос и т.д.) для имитации вопросов пользователя. Русско-английский перевод делает моя модель-переводчик (https://huggingface.co/Vladniag/Requestor). Обучается чистый декодер на 8 млн. параметров (размер модели в формате FP32 всего 26 Мб). На 436 эпохе обучения на одной NVIDIA 1080 пока что генерации получаются вот такими: https://disk.yandex.ru/i/Wx5k0rpgb_ryNQ
Сколько нейронов у современных моделей сложно сказать сходу, потому что в искусственных нейронных сетях это абстракция, а работа ведётся с матрицами весов, отражающих связи между слоями. Условно аналогами "нейронов" в них можно считать активации (выходы слоёв), например векторы в скрытых слоях модели. А число параметров, которыми характеризуют сложность модели - это приблизительный аналог связей между нейронами в биологическом мозгу. Чтобы понимать разницу чисто количественно и приблизительно: - число параметров самых современных и крупных моделей ИИ составляет 1-2 трлн. - в мозгу среднестатистического человека таких связей порядка 100 трлн. Причём они постоянно обновляются в процессе приобретения жизненного опыта. А в модели ИИ - "застывают" после завершения цикла обучения, который очень затратен и по этой причине не может быть непрерывным.
Мне кажется проблему "галлюцинаций" моделей можно значительно уменьшить сочетая их работу с базой знаний. Что-то полезное в этом направлении можно, наверное, почерпнуть из предложенной Microsoft концепции внешних знаний KBLaM. В ней набор фактов структурирован как тройки, состоящие из сущности, свойства и значения. Сначала с помощью небольшой модели сырые данные преобразуются такие структуры в JSON формате. Затем они кластеризуются. И каждой тройке сопоставляются вектора ключ-значение. Вектор ключа, полученный из имени, сущности и свойства кодирует "индексную информацию", в то время как вектор значения фиксирует соответствующее значения свойства. Эти пары ключ-значение (токены знаний) дополняются в уровнях внимания модели с помощью специализированной прямоугольной структуры внимания. Языковые токены (например, из вопроса пользователя) относятся ко всем токенам знаний. Однако токены знаний не относятся друг к другу и не относятся к языковым токенам. Такая избирательность шаблона внимания значительно снижает вычислительные затраты, сохраняя при этом способность модели эффективно включать внешние знания.
Qwen05B 2.5 в одном из вариантов ответов говорила, что она создана "Антропой". Хотя всем известно, что у неё другой создатель. Так что верить на слово моделям - это немного рискованно. Могут наврать с три короба.
Ну, Cerebras это очень специфическая и дорогая вещь, как мне кажется, доступная единицам. А насчёт очков, думаю именно такой прицел и имеет Марк Цукерберг. Однако это тоже уже получается не общедоступно. Например в России и ряде других стран (в зависимости от политики СЩА или этих стран).
Да там, как мне кажется, совсем другие риски (не связанные никак с восстанием машин). Представьте себе, что у каждого в распоряжении может быть целый коллектив вполне компетентных специалистов в любых областях, например химии, биологи, фармацевтики. И из этих людей могут быть, например, любители изменённых состояний сознания. Раньше им какой-то мёд или меф через телеграм бот надо было искать. А тут персональный "сверхинтеллек"т распишет всю цепочку производства на кухне в любых количествах и с какими хочешь эффектами.
Ну, я пока что скептически отношусь к заявлениям о скором создании "сверхинтеллекта", да ещё и доступными персонально для каждого в свободном доступе. Начиная с того, что даже сейчас большие модели 100B и выше - в открытом доступе, но далеко не каждый имеет возможности такое запустить на своём домашнем компьютере с комфортной скоростью выполнения. И заканчивая тем, что машинные методы обработки текстов - это построение вероятностных связей между словами и концепциями. Они не понимают текста как человек, для которого текст - лишь способ передачи информации, набор инструкций по которым происходит осмысливание в мозгу. Оно зависит от специфической для людей прошивки, связанной с культурной и языковой средой, опытом, чувствами, социальными ролями и т.д. Можно обработать машинными методами весь пласт текстов, накопленный человечеством, чтобы имитировать человеческий декодер. Но это всё равно будет только имитация, причём застывшая, после завершения обучения.
Однако за поддержку принципов открытости и реальный вклад в копилку сообщества любителей машинного обучения по всему миру - заслуженное почтение. Даже без сверхителлекта это хорошее дело, способствующее научно-техническому прогрессу.
Продолжительность фабрично-заводского рабочего дня поначалу законодательно никак не ограничивалась и могла составлять 14-16 часов. В начале 20 века (до 1917 года) законом был установлен 11.5 часовой рабочий день. Этого вполне хватало для получения прибыли при существующей производительности труда.
Речь шла о техническом прогрессе и ключевой возможности, которую он может дать всем членам общества - свободное время. Для этого не нужно всё, что производит рабочий, отдавать рабочему, а нужен более разумный баланс интересов. И рабочий у конвеёра - это просто пример, удобный своей наглядностью. То же самое касается любых наёмных работников, в том числе программистов, инженеров, конструкторов.
и 4. Прибыль - это то, что осталось на очередной итерации цикла "деньги-товар-деньги" после вычета всех расходов. В её основе прибавочный продукт, произведённый наёмными работниками на часть времени сверх того, за которое продукта было произведено на эквивалент их зарплаты. Без этого никакой прибыли нет и быть не может.
Если посмотреть в прошлое, сокращение продолжительности рабочего дня сопровождалось повышением уровня потребления. Потому что рост производительности труда за счёт технического перевооружения предприятий покрывал недополученную собтвенником прибыль. Она даже росла, потому что снижались относительные издержки на переменный капитал. Если раньше (условно), нужно было вложить в зарплату 1000 рублей, чтобы получить ещё 1000 рублей за 6 часов применения рабочей силы, то потом ту же тысячу рублей стало возможно получить за 4, 3, 2, 1, 0.5 часа. Вот и получается что в начале 20 века на затраченную тысячу собственник имел тысячу прибыли, эксплуатируя работника 12 часов в день, а в 21 веке на затраченную 1 тысячу он имеет ещё 15 тысяч за 8 часов эксплуатации. Здесь вопрос не в технической возможности обеспечить уровень потребления при высвобождении рабочего времени, а в способности отстоять свои экономические интересы работниками. Я думаю это одна из причин, по которой крупные технологические компании всячески стараются избежать появления в коллективах своих работников профсоюзных ячеек.
Ну как остановились. Растёт размер контекстного окна, например. Появляются новые архитектуры, позволяющие оперировать информацией в смешанном пространстве встраиваний (текст, звук, видео). Ответы становятся точнее благодаря "рассуждениям". Мне кажется пока что это не похоже на застой. Наверное дальнейшее развитие будет связано с симулированием процесса осмысливания текста. Если рассматривать его как набор инструкций, по которым мозг с правильной подготовкой может это делать, будущие модели ИИ, вероятно тоже смогут это делать, подобно человеку.
Насколько я понимаю, информация - это какие-либо сведения, уменьшающие неопределённость. Смысл в тексте - это идея, которую хочет передать автор читателю. Целью написания текста является коммуникация для уменьшения неопределённости по какому-либо вопросу, т.е. это процесс передачи информации. По-видимому текст должен содержать что-то, подлежащее осмыслению или "распаковке" смысла. Иначе непонятно как бы читатель смог почерпнуть из книги или статьи примерно то же самое, что и хотел донести до него автор. Текст без смысла может содержать формальные признаки информации, например правильную грамматическую структуру, но при этом не вносить ничего нового в систему знаний читателя. Пример: "стрептоцидовый стриптиз с трепетами стрептококков" - есть информация (о структуре): прилагательное + существительное + предложный оборот. Но по смыслу абсурд, ибо как антибиотик может исполнять стриптиз и какие трепеты могут быть у бактерий. Чтобы человек понял смысл текста, ему нужно иметь определённую "прошивку" своего декодера. От этого зависит, что будет означать для него встреченное в тексте "пивной путч" - вздутие живота от выпитого пива или попытка переворота в Веймарской республике.
Если в начале 20 века (условно) рабочий производил за 6 часов работы конвейера столько, сколько ему платят за весь рабочий день, то в 21 веке это происходит за полчаса работы конвейера. Остальное - прибавочный продукт, обращаемый в прибыль собственника. Часть этого растущего избытка распределяется в интересах общества - на социалку, отпуски, больничные, большую доступность всевозможных материальных благ. Этому способствует технический прогресс. Также он даёт техническую возможность для сокращения продолжительности рабочего дня, т.к. создать всего столько же сколько раньше можно за меньшее время. Это время можно было бы благодаря техническому прогрессу сделать свободным для каждого работника, сократив рабочий день, скажем до 6 часов. Но это происходит не так часто по сравнению с сокращением становящихся лишними работниками и распределении их нагрузки на оставшихся. Потому что главная цель - прибыль. В этом проблема, работа на износ и часто выгорание. А вовсе не в техническом прогрессе самом по себе.
Если в тексте самом по себе нет смысла, то такой текст никому не нужен, потому что с помощью него нельзя передать никакой информации от одного человека другому. Наверное дело тут в том, какой декодер сформировался в мозгу - если это люди носители одного языка и одной культуры, то они вполне свободно могут передавать друг другу смысл сообщений в тексте, осуществляя кодирование информации на своём языке и умея её декодировать.
На мой взгляд результат машинного обучения - извлечённые из данных закономерности. Это не база данных, в которую постранично записаны произведения авторов, а модель - абстракция в отражены самые важные элементы изученного. В процессе генерации данные воссоздаются по извлечённым закономерностям. И результат, при достаточно высоком разнообразии исходных данных (значительно превышающем сложность модели) может быть не похож ни на что из исходников. Поэтому по-сути компании, предоставляющие сервисы на основе таких моделей не нарушают авторские права.
Но для того, чтобы поддержать творчество людей, которое и служит лучше всего обучению новых моделей, нужно, чтобы компании, особенно если это крупные корпорации вроде Microsoft или OpenAI с Antropic существовали в некотором балансе интересов. Например, нанимали худужников, писателей и артистов для создания контента. Либо выплачивали некоторые отчисления тем людям, чьё творчество было использовано при создании моделей. Потому что в конце-концов не люди существуют для прогресса машин. А машины, для продолжения прогресса людей.
Я как раз занимаюсь в качестве домашнего хобби-проекта разработкой моделей для распределённого исполнения и организации вывода на принципах самоорганизации. Начал примерно год назад с нуля. Задача изначально сильно не по уровню и возможностям, но если интересно, чего бы и не заниматься такими авантюрами. Первым делом я обучил меленькую модель типа кодер-декодер ("Requestor" на Обниморде), для того чтобы с помощью неё на моих слабых компьютерах быстро создавать много синтетических данных. Теперь третий месяц идёт обучение на этом наборе модели декодера, предназначение которой будет писать статьи и отвечать на вопросы пользователя. Она будет создавать датасеты для следующей модели типа mamba-former для работы с большими документами и смешанными источниками (изображение, аудио). Все они будут очень компактны и пригодны для работы на одноплатниках и смартфонах, чтобы можно было построить распределённую сеть на пользовательских устройствах, ответы которой будут улучшаться за счёт саморефлексии и изменения топологии узлов. На каждом устройстве - узле пользователя, будет набор моделей со своим "опытом", приобретаемым из взаимодействия с пользователем и предоставляемой им информации. Чем больше будет сеть, тем больше будет ёмкость и охват тем в ширь и глубину.
Но мне не совсем понятно, с чем связаны ваши опасения? Это в любом случае будет только инструмент для работы с информацией. Как поисковая машина на ресурсах пользователей.
На мой взгляд синтетические данные - это что-либо полученное соединением каких либо отдельных частей. Например, мы можем взять некоторые списки имён, фамилий, возрастов, названий городов и написать программу для генерации биографий. А затем обучить сеть на множестве таких текстов извлечению из неструктурированного текста нужные сущности и выдачу их в структурированной форме, например в виде JSON файла. Наверное есть множество задач, где такие синтетические данные будут работать даже лучше, чем тексты созданные людьми вручную.
Мне кажется ставка на то, что ИИ сам напишет любую программу может быть не самой эффективной. Возможно, большую производительность дадут такие инструменты с функциями ИИ, которые позволят программисту писать программы на естественном языке (английском, русском и т.д.). В этом процессе главным будет умение найти и описать алгоритмы ведущие к решению. Это позволит получать более точные результаты за меньшее число итераций, потому что реальное понимание задачи есть только у человека.
Я хочу попробовать создать такую модель с чистого листа и постепенно продвигаюсь к этому в рамках свободного домашнего проекта. Пока что освоил обучение кодер-декодерных трансформеров с помощью OpenMNT и декодерных с помощью Pytorch. Как раз сейчас продолжается обучение GPT2 модели, которая будет генерировать произвольные тексты по плану пользователя. После этого этапа я и планирую начать эксперименты с моделью для программирования. Для начала модель будет переводить псевдокод на русском в код на Python. Дальше, то же самое с блок-схемами. Ну а если всё пойдёт хорошо - то текст в произвольном форме в программу.
А так переводит моё ИИ-творение "Толмачёвая клёпа": "Преподобная мать Гай Хелен Мохиам сидела в лентестрированном кресле, наблюдая, как мать и сын приближаются. Виндовс с каждой стороны ее смотрел на изогнутый южный сгиб реки и зеленые земледельцы семейного холдинга Атридов, но преподобная мать игнорировала взгляд. Она чувствовала свой возраст сегодня утром, более чем немного петулантной. Она винила его в космических путешествиях и объединении с той мерзкой Способной Гильдией и ее тайными способами.
Но вот была миссия, требующая личного внимания от Бена Гессерита – с – Взгляд. Даже правдоподобный император Падиша не мог уклониться от этой ответственности, когда наступил дежурный звонок."
Есть неплохая статья Михаила Утробина "Как создать переводчик, который переводит лучше, чем Google Translate". В ней он использовал для обучения OpenNMT. Этот готовый набор программ позволяет обучать модели типа "преобразователь" разных архитектур, в том числе и GPT. Всё что вам понадобится - собрать датасет и настроить конфигурационный файл. Я таким образом собрал набор данных на 1.5 млрд токенов для обучения русско-английскому переводу, суммаризации, составлению заголовков и генерации вопросов и обучил модель на 80 млн. параметров в общей сложности суток за 5 на 1 карте Nvidia RTX3090. Что получилось можно посмотреть на демо-сайте: https://tolmacher.wia.su/ А скачать для экспериментов саму модель здесь: https://huggingface.co/Vladniag/Requestor
Сейчас я её использую для генерации более масштабного датасета, на котором намерен обучить уже GPT модель примерно на 300 млн. параметров. Используется Qwen05B, которая не знает русского и моя модель, которая делает перевод на русский. Это единственный приемлемый вариант, учитывая недоступность Google-переводчика и стоимость переводов другими переводчиками такого огромного объёма данных какой нужен для обучения.
Я тоже с этим экспериментирую - пытаюсь обучить небольшую русско-английскую модель с нуля для написания длинных текстов по аннотации, названию, теме, плану, списку вопросов и т.д. Для этого учителями работают три модели: TinyLLaMA 1B и QWEN05B которые генерируют основной текст и YandexGPT Lite 8B которая формирует сжатую информацию (тема текста, ключевой вопрос и т.д.) для имитации вопросов пользователя. Русско-английский перевод делает моя модель-переводчик (https://huggingface.co/Vladniag/Requestor).
Обучается чистый декодер на 8 млн. параметров (размер модели в формате FP32 всего 26 Мб). На 436 эпохе обучения на одной NVIDIA 1080 пока что генерации получаются вот такими: https://disk.yandex.ru/i/Wx5k0rpgb_ryNQ
Сколько нейронов у современных моделей сложно сказать сходу, потому что в искусственных нейронных сетях это абстракция, а работа ведётся с матрицами весов, отражающих связи между слоями. Условно аналогами "нейронов" в них можно считать активации (выходы слоёв), например векторы в скрытых слоях модели. А число параметров, которыми характеризуют сложность модели - это приблизительный аналог связей между нейронами в биологическом мозгу.
Чтобы понимать разницу чисто количественно и приблизительно:
- число параметров самых современных и крупных моделей ИИ составляет 1-2 трлн.
- в мозгу среднестатистического человека таких связей порядка 100 трлн. Причём они постоянно обновляются в процессе приобретения жизненного опыта. А в модели ИИ - "застывают" после завершения цикла обучения, который очень затратен и по этой причине не может быть непрерывным.
Мне кажется проблему "галлюцинаций" моделей можно значительно уменьшить сочетая их работу с базой знаний. Что-то полезное в этом направлении можно, наверное, почерпнуть из предложенной Microsoft концепции внешних знаний KBLaM. В ней набор фактов структурирован как тройки, состоящие из сущности, свойства и значения. Сначала с помощью небольшой модели сырые данные преобразуются такие структуры в JSON формате. Затем они кластеризуются. И каждой тройке сопоставляются вектора ключ-значение. Вектор ключа, полученный из имени, сущности и свойства кодирует "индексную информацию", в то время как вектор значения фиксирует соответствующее значения свойства. Эти пары ключ-значение (токены знаний) дополняются в уровнях внимания модели с помощью специализированной прямоугольной структуры внимания. Языковые токены (например, из вопроса пользователя) относятся ко всем токенам знаний. Однако токены знаний не относятся друг к другу и не относятся к языковым токенам. Такая избирательность шаблона внимания значительно снижает вычислительные затраты, сохраняя при этом способность модели эффективно включать внешние знания.
Qwen05B 2.5 в одном из вариантов ответов говорила, что она создана "Антропой". Хотя всем известно, что у неё другой создатель. Так что верить на слово моделям - это немного рискованно. Могут наврать с три короба.
Ну, Cerebras это очень специфическая и дорогая вещь, как мне кажется, доступная единицам. А насчёт очков, думаю именно такой прицел и имеет Марк Цукерберг. Однако это тоже уже получается не общедоступно. Например в России и ряде других стран (в зависимости от политики СЩА или этих стран).
Да там, как мне кажется, совсем другие риски (не связанные никак с восстанием машин). Представьте себе, что у каждого в распоряжении может быть целый коллектив вполне компетентных специалистов в любых областях, например химии, биологи, фармацевтики. И из этих людей могут быть, например, любители изменённых состояний сознания. Раньше им какой-то мёд или меф через телеграм бот надо было искать. А тут персональный "сверхинтеллек"т распишет всю цепочку производства на кухне в любых количествах и с какими хочешь эффектами.
Ну, я пока что скептически отношусь к заявлениям о скором создании "сверхинтеллекта", да ещё и доступными персонально для каждого в свободном доступе. Начиная с того, что даже сейчас большие модели 100B и выше - в открытом доступе, но далеко не каждый имеет возможности такое запустить на своём домашнем компьютере с комфортной скоростью выполнения. И заканчивая тем, что машинные методы обработки текстов - это построение вероятностных связей между словами и концепциями. Они не понимают текста как человек, для которого текст - лишь способ передачи информации, набор инструкций по которым происходит осмысливание в мозгу. Оно зависит от специфической для людей прошивки, связанной с культурной и языковой средой, опытом, чувствами, социальными ролями и т.д. Можно обработать машинными методами весь пласт текстов, накопленный человечеством, чтобы имитировать человеческий декодер. Но это всё равно будет только имитация, причём застывшая, после завершения обучения.
Однако за поддержку принципов открытости и реальный вклад в копилку сообщества любителей машинного обучения по всему миру - заслуженное почтение. Даже без сверхителлекта это хорошее дело, способствующее научно-техническому прогрессу.
Продолжительность фабрично-заводского рабочего дня поначалу законодательно никак не ограничивалась и могла составлять 14-16 часов. В начале 20 века (до 1917 года) законом был установлен 11.5 часовой рабочий день. Этого вполне хватало для получения прибыли при существующей производительности труда.
Речь шла о техническом прогрессе и ключевой возможности, которую он может дать всем членам общества - свободное время. Для этого не нужно всё, что производит рабочий, отдавать рабочему, а нужен более разумный баланс интересов. И рабочий у конвеёра - это просто пример, удобный своей наглядностью. То же самое касается любых наёмных работников, в том числе программистов, инженеров, конструкторов.
и 4. Прибыль - это то, что осталось на очередной итерации цикла "деньги-товар-деньги" после вычета всех расходов. В её основе прибавочный продукт, произведённый наёмными работниками на часть времени сверх того, за которое продукта было произведено на эквивалент их зарплаты. Без этого никакой прибыли нет и быть не может.
Если посмотреть в прошлое, сокращение продолжительности рабочего дня сопровождалось повышением уровня потребления. Потому что рост производительности труда за счёт технического перевооружения предприятий покрывал недополученную собтвенником прибыль. Она даже росла, потому что снижались относительные издержки на переменный капитал. Если раньше (условно), нужно было вложить в зарплату 1000 рублей, чтобы получить ещё 1000 рублей за 6 часов применения рабочей силы, то потом ту же тысячу рублей стало возможно получить за 4, 3, 2, 1, 0.5 часа. Вот и получается что в начале 20 века на затраченную тысячу собственник имел тысячу прибыли, эксплуатируя работника 12 часов в день, а в 21 веке на затраченную 1 тысячу он имеет ещё 15 тысяч за 8 часов эксплуатации. Здесь вопрос не в технической возможности обеспечить уровень потребления при высвобождении рабочего времени, а в способности отстоять свои экономические интересы работниками. Я думаю это одна из причин, по которой крупные технологические компании всячески стараются избежать появления в коллективах своих работников профсоюзных ячеек.
Ну как остановились. Растёт размер контекстного окна, например. Появляются новые архитектуры, позволяющие оперировать информацией в смешанном пространстве встраиваний (текст, звук, видео). Ответы становятся точнее благодаря "рассуждениям". Мне кажется пока что это не похоже на застой. Наверное дальнейшее развитие будет связано с симулированием процесса осмысливания текста. Если рассматривать его как набор инструкций, по которым мозг с правильной подготовкой может это делать, будущие модели ИИ, вероятно тоже смогут это делать, подобно человеку.
Насколько я понимаю, информация - это какие-либо сведения, уменьшающие неопределённость. Смысл в тексте - это идея, которую хочет передать автор читателю. Целью написания текста является коммуникация для уменьшения неопределённости по какому-либо вопросу, т.е. это процесс передачи информации. По-видимому текст должен содержать что-то, подлежащее осмыслению или "распаковке" смысла. Иначе непонятно как бы читатель смог почерпнуть из книги или статьи примерно то же самое, что и хотел донести до него автор.
Текст без смысла может содержать формальные признаки информации, например правильную грамматическую структуру, но при этом не вносить ничего нового в систему знаний читателя. Пример: "стрептоцидовый стриптиз с трепетами стрептококков" - есть информация (о структуре): прилагательное + существительное + предложный оборот. Но по смыслу абсурд, ибо как антибиотик может исполнять стриптиз и какие трепеты могут быть у бактерий.
Чтобы человек понял смысл текста, ему нужно иметь определённую "прошивку" своего декодера. От этого зависит, что будет означать для него встреченное в тексте "пивной путч" - вздутие живота от выпитого пива или попытка переворота в Веймарской республике.
Если в начале 20 века (условно) рабочий производил за 6 часов работы конвейера столько, сколько ему платят за весь рабочий день, то в 21 веке это происходит за полчаса работы конвейера. Остальное - прибавочный продукт, обращаемый в прибыль собственника. Часть этого растущего избытка распределяется в интересах общества - на социалку, отпуски, больничные, большую доступность всевозможных материальных благ. Этому способствует технический прогресс. Также он даёт техническую возможность для сокращения продолжительности рабочего дня, т.к. создать всего столько же сколько раньше можно за меньшее время. Это время можно было бы благодаря техническому прогрессу сделать свободным для каждого работника, сократив рабочий день, скажем до 6 часов. Но это происходит не так часто по сравнению с сокращением становящихся лишними работниками и распределении их нагрузки на оставшихся. Потому что главная цель - прибыль. В этом проблема, работа на износ и часто выгорание. А вовсе не в техническом прогрессе самом по себе.
Если в тексте самом по себе нет смысла, то такой текст никому не нужен, потому что с помощью него нельзя передать никакой информации от одного человека другому. Наверное дело тут в том, какой декодер сформировался в мозгу - если это люди носители одного языка и одной культуры, то они вполне свободно могут передавать друг другу смысл сообщений в тексте, осуществляя кодирование информации на своём языке и умея её декодировать.
Ясно. Такие опасения мне кажутся вполне обоснованы.
На мой взгляд результат машинного обучения - извлечённые из данных закономерности. Это не база данных, в которую постранично записаны произведения авторов, а модель - абстракция в отражены самые важные элементы изученного. В процессе генерации данные воссоздаются по извлечённым закономерностям. И результат, при достаточно высоком разнообразии исходных данных (значительно превышающем сложность модели) может быть не похож ни на что из исходников. Поэтому по-сути компании, предоставляющие сервисы на основе таких моделей не нарушают авторские права.
Но для того, чтобы поддержать творчество людей, которое и служит лучше всего обучению новых моделей, нужно, чтобы компании, особенно если это крупные корпорации вроде Microsoft или OpenAI с Antropic существовали в некотором балансе интересов. Например, нанимали худужников, писателей и артистов для создания контента. Либо выплачивали некоторые отчисления тем людям, чьё творчество было использовано при создании моделей. Потому что в конце-концов не люди существуют для прогресса машин. А машины, для продолжения прогресса людей.
Я как раз занимаюсь в качестве домашнего хобби-проекта разработкой моделей для распределённого исполнения и организации вывода на принципах самоорганизации. Начал примерно год назад с нуля. Задача изначально сильно не по уровню и возможностям, но если интересно, чего бы и не заниматься такими авантюрами. Первым делом я обучил меленькую модель типа кодер-декодер ("Requestor" на Обниморде), для того чтобы с помощью неё на моих слабых компьютерах быстро создавать много синтетических данных. Теперь третий месяц идёт обучение на этом наборе модели декодера, предназначение которой будет писать статьи и отвечать на вопросы пользователя. Она будет создавать датасеты для следующей модели типа mamba-former для работы с большими документами и смешанными источниками (изображение, аудио). Все они будут очень компактны и пригодны для работы на одноплатниках и смартфонах, чтобы можно было построить распределённую сеть на пользовательских устройствах, ответы которой будут улучшаться за счёт саморефлексии и изменения топологии узлов. На каждом устройстве - узле пользователя, будет набор моделей со своим "опытом", приобретаемым из взаимодействия с пользователем и предоставляемой им информации. Чем больше будет сеть, тем больше будет ёмкость и охват тем в ширь и глубину.
Но мне не совсем понятно, с чем связаны ваши опасения? Это в любом случае будет только инструмент для работы с информацией. Как поисковая машина на ресурсах пользователей.
На мой взгляд синтетические данные - это что-либо полученное соединением каких либо отдельных частей. Например, мы можем взять некоторые списки имён, фамилий, возрастов, названий городов и написать программу для генерации биографий. А затем обучить сеть на множестве таких текстов извлечению из неструктурированного текста нужные сущности и выдачу их в структурированной форме, например в виде JSON файла. Наверное есть множество задач, где такие синтетические данные будут работать даже лучше, чем тексты созданные людьми вручную.
Мне кажется ставка на то, что ИИ сам напишет любую программу может быть не самой эффективной. Возможно, большую производительность дадут такие инструменты с функциями ИИ, которые позволят программисту писать программы на естественном языке (английском, русском и т.д.). В этом процессе главным будет умение найти и описать алгоритмы ведущие к решению. Это позволит получать более точные результаты за меньшее число итераций, потому что реальное понимание задачи есть только у человека.
Я хочу попробовать создать такую модель с чистого листа и постепенно продвигаюсь к этому в рамках свободного домашнего проекта. Пока что освоил обучение кодер-декодерных трансформеров с помощью OpenMNT и декодерных с помощью Pytorch. Как раз сейчас продолжается обучение GPT2 модели, которая будет генерировать произвольные тексты по плану пользователя. После этого этапа я и планирую начать эксперименты с моделью для программирования. Для начала модель будет переводить псевдокод на русском в код на Python. Дальше, то же самое с блок-схемами. Ну а если всё пойдёт хорошо - то текст в произвольном форме в программу.
Мне понравились 3-й и 10 варианты.
А так переводит моё ИИ-творение "Толмачёвая клёпа":
"Преподобная мать Гай Хелен Мохиам сидела в лентестрированном кресле, наблюдая, как мать и сын приближаются. Виндовс с каждой стороны ее смотрел на изогнутый южный сгиб реки и зеленые земледельцы семейного холдинга Атридов, но преподобная мать игнорировала взгляд. Она чувствовала свой возраст сегодня утром, более чем немного петулантной. Она винила его в космических путешествиях и объединении с той мерзкой Способной Гильдией и ее тайными способами. Но вот была миссия, требующая личного внимания от Бена Гессерита – с – Взгляд. Даже правдоподобный император Падиша не мог уклониться от этой ответственности, когда наступил дежурный звонок."
Определённо ещё есть куда расти.
Есть неплохая статья Михаила Утробина "Как создать переводчик, который переводит лучше, чем Google Translate". В ней он использовал для обучения OpenNMT. Этот готовый набор программ позволяет обучать модели типа "преобразователь" разных архитектур, в том числе и GPT. Всё что вам понадобится - собрать датасет и настроить конфигурационный файл. Я таким образом собрал набор данных на 1.5 млрд токенов для обучения русско-английскому переводу, суммаризации, составлению заголовков и генерации вопросов и обучил модель на 80 млн. параметров в общей сложности суток за 5 на 1 карте Nvidia RTX3090. Что получилось можно посмотреть на демо-сайте:
https://tolmacher.wia.su/
А скачать для экспериментов саму модель здесь:
https://huggingface.co/Vladniag/Requestor
Сейчас я её использую для генерации более масштабного датасета, на котором намерен обучить уже GPT модель примерно на 300 млн. параметров. Используется Qwen05B, которая не знает русского и моя модель, которая делает перевод на русский. Это единственный приемлемый вариант, учитывая недоступность Google-переводчика и стоимость переводов другими переводчиками такого огромного объёма данных какой нужен для обучения.