Как стать автором
Обновить
761.31
OTUS
Цифровые навыки от ведущих экспертов

Что следует знать аналитику 1С о больших языковых моделях и GPT

Уровень сложностиПростой
Время на прочтение5 мин
Количество просмотров2.7K

Возможно, важнейшим навыком для аналитика 1С является хорошее знание возможностей как самой платформы, так и всего того, что с ней взаимодействует. В наше время все меняется очень быстро. Приходится вслед за героями Л. Кэррола "бежать изо всех сил". Большие языковые модели и технология GPT "прогремели" всего лишь считанные месяцы назад, но уже сейчас они начинают оказывать влияние на экосистему 1С. Здесь я постараюсь быстро ввести вас в курс дела.

История вопроса

Данная справка не претендует на исчерпывающую полноту. Если есть желание глубоко погрузиться в вопрос и нет проблем с английским языком, тогда лучше всего обратиться к собранию препринтов Arxiv. Я же расскажу максимально сжато только самое существенное.

Искусственные нейронные сети известны уже давно (в этом году исполнилось 80 лет). Их с большим успехом использовали и продолжают использовать для решения самых разных задач: распознавание образов, прогнозирование, управление и т.д.

Одну из таких задач следует выделить особо. Речь идет о распознавании естественного языка. Начиналось все с желания создать модель, которая сможет переводить с одного языка на другой. Казалось бы частная задача. Но достаточно быстро выяснилось, что нельзя добиться качественного перевода без того, чтобы научить модель понимать язык (что бы это ни значило). Это сразу "подняло планку", а также амбиции исследователей.

Было приложено немало усилий. Важной вехой явилось создание т.н. рекуррентных нейросетей или сетей с памятью. Дело в том, что нельзя переводить текст просто по словам, одно за другим. Порядок слов имеет большое значение. Поэтому были придуманы нейросети, которые "помнят" что там было два слова назад, три слова, и т.д. чуть ли не до начала абзаца. Надо сказать, что в свое время это был прорыв. Результаты работы языковых моделей довольно резко улучшились.

Но такого рода изощренные конструкции создали другое препятствие. На их основе нельзя было создавать по настоящему большие модели. То есть, создать-то было можно, но вот дождаться окончания их обучения становилось нереальным.

В 2017 году инженерами Google была предложена идея потрясающе простая, и, как потом выяснилось, столь же потрясающе эффективная. Вместо того, чтобы запоминать, что было сначала, а что потом, надо сразу пометить все слова в тексте порядковыми номерами. Так появилась технология языковой модели, которая называется трансформер. Эта технология дала возможность распараллелить процесс обучения и создать очень большие языковые модели.

И тут выяснилось, что "размер имеет значение". Большие языковые модели начали понимать. К вопросу о том, что такое "понимание" можно подходить с философской точки зрения. И тут мы гарантировано ни к чему не придем. А можно подойти с сугубо практических позиций. Если что-то может продолжить то, что мы начали, значит оно нас понимает. И, в частности, оно может отвечать на наши вопросы. Потому что всякий ответ есть ни что иное, как продолжение вопроса.

Что могут большие языковые модели

Думаю, вы уже наслышались о возможностях больших языковых моделей. Разбираясь со всем этим, полезно помнить, что в каком-то смысле эти модели являются чем-то вроде Т9 на стероидах. Качество ответа на ваш вопрос зависит от:

  • как много натрындели по этому поводу в интернете

  • насколько качественным был этот трындеж

  • что из него попало в обучающую выборку

Поэтому, не стоит удивляться тому, что большие языковые модели успешно сдают всевозможные экзамены. Им "скормили" соответствующие учебники. И это, заметим, самое простое действие. Учебник или научная статья - это уже сами по себе хорошо подготовленные данные. Сложнее с контентом из социальных сетей. Говорят, что на одной из предыдущих итераций по созданию языковых моделей OpenAI взяли все посты Reddit, отмеченные не менее чем тремя "звездочками", но в последующем отказались от такого механистического подхода.

От правильно подобранных данных для обучения зависит очень многое. В идеале, это должно быть много-много пар "вопрос-правильный ответ". В сети есть ресурс из которого можно извлекать такого рода пары в огромном количестве. Думаю, вы слышали-знаете про Stackoverflow. Именно оттуда была взята значительная часть данных для обучения больших языковых моделей. Как результат, современные большие языковые модели лучше всего умеют писать код. То есть, вообще-то они умеют много чего. Но написание кода получается наиболее качественно. Зачастую, этот код может быть сразу выполнен, без каких либо правок. А код на языке SQL выполняется почти всегда. И это неудивительно. Область применения SQL уже, чем у прочих языков программирования, а готовых данных для обучения едва ли не больше.

Обычно говорят, что большие языковые модели являются отличными помощниками для программистов. Но в случае с SQL они являются помощниками для кого угодно. В том числе и для тех, кто далек от программирования. Теперь любой может общаться с базами данных в режиме: "сказал, что тебе надо, получил, что тебе надо".

Что это значит для 1С

Теперь перейдем к 1С. Можно ли попросить большую языковую модель написать код на языке 1С:Предприятие? Можно. И оно даже что-то напишет. Оно вообще не умеет отказывать. Но результат будет близкий к плачевному. Дело в обучающей выборке. У OpenAI на русский язык приходится менее 1% от всего массива обучающих данных. По тем же причинам нет смысла просить составить запрос к базе данных на языке запросов 1С:Предприятие.

Изменится ли что-нибудь в ближайшем будущем? Вряд-ли. Даже если кто-то обучает большую языковую модель преимущественно на русском языке, откуда он возьмет хорошо подготовленные данные по языку запросов 1С в том же количестве, что есть по SQL?

Сказанное выше не является непреодолимым препятствием. Есть два пути решения проблемы. Во-первых, можно транслировать SQL в язык запросов 1С. Язык запросов 1С представляет собой диалект SQL. Довольно устаревший и со странностями, но все же диалект. Транслировать SQL в 1С не супер сложная задача. Кстати, обратный транслятор, из 1С в SQL прекрасно работает уже давным давно.

Во-вторых, можно перенести данные из базы 1С в обычную базу, например PostgreSQL или MySQL. И отрабатывать запросы на этой базе.

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

Взглянем на все это с другой стороны. Как много практических, насущных задач может решить для пользователя данная технология? Какой процент от реальных запросов будет исполнен, а какой останется без ответа? Реальные вопросы пользователей преимущественно простые. Они не представляют проблемы для большой языковой модели. Но получить ответ на них обычным путем в типовых конфигурациях не так-то просто. Например, есть такой довольно простой тип запросов: "какой товар не продавался на прошлой неделе?" или "какой контрагент не брал товар в прошлом месяце?" Удивительно, но нигде в типовых конфигурациях 1С вы не найдете возможности для пользователя получить ответ на эти простые вопросы. В то же время, большая языковая модель с легкостью выдаст правильный текст запроса в ответ на вопросы подобного типа.

Заключение

Уже сейчас в 1С можно выходить на практические результаты от новой технологии больших языковых моделей. Главное, не заниматься поиском "низко висящих плодов", пытаясь получить от модели результат сразу на языке 1С. Организуйте работу по одному из двух предложенных сценариев и удивите пользователей совершенно необычным для них. Сказал, что надо, получил, что надо.


Какую методологию управления проектом выбрать на крупном внедрении системы 1С. Об этом вы можете узнать на бесплатном уроке от OTUS, где будут рассмотрены современные подходы к управлению проектами по внедрению систем 1С. Преподаватели расскажут какую технологию выбрать в каждом конкретном проекте. После занятия вы будете знать насколько применимы Agile-методики в управлении проектами внедрения 1С-систем и какую роль играет аналитик 1С в проектах, выполняемых с применением разных проектных технологий.

Все приводимые на занятии кейсы - опыт реальных крупных проектов автоматизации.

Теги:
Хабы:
+6
Комментарии23

Публикации

Информация

Сайт
otus.ru
Дата регистрации
Дата основания
Численность
101–200 человек
Местоположение
Россия
Представитель
OTUS