Лаборатория Математики и Программирования Сергея Бобровского – Telegram
Лаборатория Математики и Программирования Сергея Бобровского
1.3K subscribers
1.19K photos
24 videos
933 links
ЛаМПовое с Бобровским
Download Telegram
"If you think good architecture is expensive, try bad architecture."
-- Brian Foote and Joseph Yoder
"Intelligent Machines and Idiotic Humans: A Startup Story"
(идеи для AI-стартапов)

Серия 2. Русский Copilot.

В мире так мало людей, которые действительно что-то делают сами, не по указке со стороны, что если вы создаёте что-то ценное, то у вас практически не будет конкуренции.

Опенсорсные системы местами даже превосходят то, что делают супербогатые лаборатории:

-- Implementation of Reinforcement Learning with Human Feedback on top of the PaLM architecture.
If you are interested in replicating something like ChatGPT out in the open...

-- The SantaCoder models are a series of 1.1B parameter models trained on the Python, Java, and JavaScript subset.
Есть онлайн-демка.

Уровень где-то GPT2, но вы вполне можете локально дообучить её на ваши (или чужие) конкретные проекты уровнем даже покруче, чем универсальная GPT3.

Можно продавать как сервис полного цикла внедрения корпоративного AI-ассистанта для программистов: тюнинг под вашу разработческую тематику + суппорт + установка + обучение пользователей.

Минус в том, что продвигать такие вещи тяжело -- надо выходить на ит-руководителей, убеждать их... Возможно, лучше делать что-то вроде русского copilot по недорогой массовой подписке для разработчиков.
Действительно, научиться писать смарт-контракты на Solidity или обучать модельки в PyTorch (или клепать интернет-магазины и далее по списку...) любой способный студент может за 1-2 недели. Это чисто технические темы, это поверхностный уровень "веб-фреймворков", в нём нету никакой глубины. Конкурировать с другими на таком уровне -- просто глупо, это тратить время впустую. Это механический уровень AI :) Сейчас например активно учат большие LLM обучать маленькие LLM, скоро они всю эту ерунду будут хорошо уметь вместо вас lol

Лучше всего развиваться в фундаментальные темы -- как спроектировать сложную систему для web3 или AI (или что угодно другое) на миллионы строк кода и десятки тысяч rps, и главное -- то что получилось, много лет легко и просто развивать и сопровождать.
На днях The Wall Street Journal (запрещена в России :) рассказала, что авторы ChatGPT готовы продать своё детище за 29 млрд. долл., и вроде бы даже есть заинтересованные покупатели. Какая-то невероятная сумма, с учётом того, что совершенно неясно, как такое монетизировать. Крутить рекламные баннеры? Платная подписка? Ну это копеечные суммы получатся.

Подозрение, что в непубличной версии ChatGPT развиваются технологии двойного (тройного...) назначения, на которые определённые структуры уже положили глаз и готовы прилично отстегнуть.

...тем временем, GitHub Copilot Labs разработала AI-генератор тестов для кода. Тестировщики, на выход :)
Периодически просят пояснить, как это вообще GPT могут честно писать код? Ну, не знаю, специально так было заложено в их архитектуры, или это "естественно" оказалось для LLM, но фишка в том, что внутри них некоторым образом сформировался движок логического вывода.

Для GPT, Python -- это Prolog. и JavaScript -- это Prolog, и ваше с ней общение -- это Prolog, и вообще всё для неё -- это Prolog ))) К которому прикручен "нечёткий" нейронный фреймворк, на эту тему на днях в сериале про AI-стартапы напишу подробнее.

Я несколько лет назад сделал небольшой курс по этой теме, SMT-солверам и Program Synthesis, и ещё тогда говорил о стратегической важности этих темок, но потом закрыл, потому что тогда потенциала этого никто не понимал, ну и вот.

Если хотите эффективно работать с ChatGPT и подобными, вам надо научиться думать как ChatGPT :) И этот prompt-скилл отлично тренируется формально: изучайте логическое программирование и для начала решайте побольше задачек на Прологе.
"Intelligent Machines and Idiotic Humans: A Startup Story"
(идеи для AI-стартапов)

Серия 3. "Свой доморощенный" ИИ-криэйтор.

В Китае с сегодняшнего дня вводится тотальный госконтроль за всеми генеративными AI: например, изображения должны снабжаться "водяными знаками" "фейк" и т. п.

Будет ли у нас подобное введено? Для Чебурнета как бы напрашивается "конечно", однако мы столь далеки от Китая и США и по вычислительным, и по алгоритмическим AI-разработкам -- на несколько порядков (оценочное суждение), что пока это совершенно неактуально. Нам просто нечего маркировать :)

Но вот забанить зарубежное могут легко конечно. С другой стороны, и выделить миллиарды на "свой генеративный движок" тоже.

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

Например, MUSE -- хороший уровень подобных систем.

Спрос наверняка будет например со стороны разработчиков игр, которых у нас в декабре решено было активно поддерживать. Примеров масса, когда это нужно. Ну например, отлично продающуюся Hero's Hour (простенький клон Heroes of Might and Magic) написал один человек, картиночки там примитивные, но всё равно надо много рисовать. А так, дал один запрос и получил за 1000 рублей через 10 секунд все готовые спрайты.

В тему, хорошая статья (цикл) - как сегодня быстро делать игры с помощью генеративных AI и LLM.
Прекрасное )))
Ну, всегда надо помнить, что логика ChatGPT отнюдь не аристотелева.
Тем временем, три свежих отзыва от курсантов, которые начали использовать ChatGPT:

-- Честно говоря, я уже второй день не отлипаю от ChatGPT. После вашей рекомендации решил в дипломном проекте с наскока подружить Spring и Akka в целях эксперимента. В целом, акторы с CRUD функционалом для Vehicle он написал довольно бодро). Проблемы начались с конфигурацией акторов, так как ассистент не учитывал особенности Spring-а, например, создавал их экземпляры через конструктор, а не специальный метод. Также вылазили ошибки, когда он дублировал строки или писал название классов с маленькой буквы. Пару раз писал несуществующие аннотации. В общем, я пока отказался от идеи акторов в Spring приложении, не имею больших познаний. Думаю, в мире Scala ассистент лучше себя покажет с Akka.

-- Сначала я обновил дизайн блога, он мне сгенерировал и html и css, но это не самое интересное.
Самое интересное, это следующие две вещи:
1) Он умеет составлять планы. Я попросил составить план по изучению темы, в течение 3 месяцев и по-недельно с учетом того, что я могу заниматься, например, 2 часа день. И он создал неплохой план с учетом моих пожеланий. Его можно использовать для автоматизации подобных задач.
2) ChatGPT, как помощник в программировании.т. При изучении Erlang'a, я просил ChatGPT дать мне задачки, чтобы, например, отточить навыки при работе с рекурсией, или дать идея для пет-проектов на Erlang'e.
Программирование совместное тоже получилось интересным. Например, при решении задачу, ChatGPT мог выдавать неверный код. Я даю ему тест-кейс, указываю, что его код не верный, на что он реагирует и изменяет, а также объясняет что и почему делает.
В общем, это инструмент, который обязателен для новичков, и, как мне кажется, он будет под рукой у каждого разработчика.

-- Вчера начал использовать chat gpt в работе.
Результат поразительный, судя по всему если эксперт в нужной области, то следуя нужным подсказкам chat gpt может создавать вполне приличные штуки
Я вчера свой sql query запрос очень сильно оптимизировал
И по андроид, он мне классные штуки помог сделать, спихнул на него генерацию моделек по json схеме. Дальше я сам отверстал вьюху и попросил вместо Хард код значений в этой вьюхе использовать сгенерированную им же модельку. На 95% сделал все правильно!!! В общем я тако понимаю на него любую муторную работу можно возложить!

P.S. Если вы хотите развиваться в prompt-инженерию (это сарказм), изучайте официальные рекомендации OpenAI, как правильнее и продуктивнее общаться с ChatGPT.
Что такое ясное мышление на элитном уровне в программировании? Это когда вы занимаетесь непрерывной разработкой "под себя" (для других тоже хорошо, если их уровень позволяет и если вы можете их этому обучить) рабочих версий всё более обобщающих абстракций. А это ваше "написание кода" и "нахождение уже известных способов сделать X", безусловно, ценно в прикладном плане, но это всего лишь побочные второстепенные детальки в общей картине.

P.S. Например, если вам не хватает категории, допускающей каррирование, можно перейти к моноидальной категории с заузливанием :) зато получаем потенциальную поддержку квантовых и тензорных вычислений, добираемся до топологических алгоритмов для нейронных сетей, и т. д.
AI не отнимет у вас работу. Это сделает какой-нибудь гораздо более глупый чем вы, но гораздо более энергичный "prompt-специалист", использующий AI для того, чтобы делать больше и быстрее чем вы, и вдобавок активно развивающий нетворк с AI помощью.

P.S. И не исключено, кстати, что это будет китайский программист :)
В Китае ChatGPT так же недоступен, как и у нас, однако тамошние ИТ-корпорации быстренько прикрутили его к национальному мессенджеру WeChat, и миллиард китайцев им может пользоваться без проблем.
В России же пока тишина... Почему? Сейчас поясню.
В нашем правительстве немало ЛПР, которым сильно не хватает решительности. Например, собирались перейти в азиатскую футбольную федерацию, но в последний момент сдрейфили. Теперь будет так: 2-3 года унизительно побегаем за УЕФА, всё равно не вернут, а с азиатами тоже уже может не прокатить -- раз один раз сбежал из-под венца, второй раз не поверят, и правильно. В результате теперь лет 10 международного футбола мы не увидим.

В computer science и AI ситуация ещё печальнее: армия вредителей продолжает яростно отстаивать американские принципы "защиты" интеллектуальной собственности в ситуации, когда уже всё полностью обнулилось, а зарубежные компании просто наплевали на своих платных пользователей.

Как надо: в России законодательно отменяются все виды лицензий на интеллектуальную собственность недружественных стран (весь софт включая и опенсорс, книги, научные статьи...), и вводится единая отечественная лицензия: российские программисты, инженеры, учёные могут свободно использовать любые системы и материалы свободно и бесплатно. Авторов можно упоминать, а можно и не упоминать.
Все борцы с плагиатом приравниваются к иноагентам :)

Но этого конечно не случится. Почему? Ну, вот потому, что "колонна влиятельных вредителей (или дураков)" живёт иллюзорной надеждой "вернуться как раньше на международный уровень" (в спорте, технологиях, науке, ...).

Самоизоляция, автаркия, БРИКС, и не далее. Конечно, это не здорово, но это реальность. Это то, что есть и теперь будет многие годы, а то и навсегда.

В СССР была мощная служба научно-технической разведки (и это при сильнейшей науке!), которая работала в промышленных масштабах. А сейчас? Я например трачу тысячи долларов на доступ к хорошим зарубежным материалам по проектированию, и что-то мне никто не помогает :) Более того, забудешь лицензию на американский продукт указать в своей ИТ-системе (или автора материала), и тебя оштрафуют, а то и отправят в тюрьму.

Китай 10-15 лет поднимался в AI за счёт тотального плагиата американо-европейских научных работ и софта; сегодня он на втором месте в мире по научным AI-разработкам, в которых доля оригинальных материалов уже подавляюща. К 2030-му он станет мировым лидером в AI.

Россия же по уровню AI-инноваций продолжает барахтаться в четвёртой десятке (The Global AI Index), какие бы сказки нам не рассказывали про внедрение в России ИИ на миллиарды рублей (классификаторы изображений на PyTorch уровня студенческой курсовой работы).
👍1
Пишите код так, чтобы ваши коллеги говорили: "Подождите... Что это??"
Рост стоимости продвинутого проектирования характерен не только для ИТ, но и для всех практически инженерных областей. Например, мотор V6 Формулы 1 выдаёт 1000 л.с., и стоит в тысячу раз больше, чем мотор Ford Fiesta V6, но всего в пять раз его мощнее.
"Intelligent Machines and Idiotic Humans: A Startup Story"
(идеи для AI-стартапов)

Серия 4. Нейронный верификатор кода.

Реально крутая (потенциально) работа "Teaching AI advanced mathematical reasoning" -- как запрещённая в России Мета скрестила нейронную сеть с теорем-прувером Lean и обучила её доказательству теорем, что потенциально позволит автоматизировать занятия формальной верификацией (у людей это получается пока очень дорого и тяжело) и в перспективе гарантировать качество кода и доказывать его безошибочность!

Они похвастались, что дескать теперь наш AI решает в 5 раз больше задач с математических Олимпиад, нежели любой другой, и привели примеры решений. Впрочем, один PhD написал им в комментах, что если эти задачи -- уровень математических Олимпиад, то я потерял уважение ко всем их победителям :)

Но направление крайне перспективное -- состыковываем всяческие символические вычислители с LLM.
Структуры данных ближайшего будущего :)
Правительство Нидерландов обнародовало под давлением общественности исходный код своего приложения для цифровой аутентификации DigiD для iOS. По нему уже кучу мемов придумали.

Да, но хорошо бы на исходники и наших госсистем посмотреть...
VK приглашает на стажировку (нереклама, просто рекомендую)

"Бэкенд, фронтенд, тестирование, аналитика — и это далеко не все направления в 2023 году. Попробуйте решить реальные продуктовые задачи и научитесь новому у наставников и экспертов компании.

Можно попасть в команду одного из 15 проектов: Маруси, Почты Mail․ru, ВКонтакте и других. В каждом из них разные направления — от аналитики до дизайна. Заявки принимаются до 26 февраля:
vk.cc/intern

Оплачиваемая стажировка стартует в апреле и продлится пять месяцев. Актуальная информация — в сообществе VK Джуниор."
Главный концептуальный прорыв OpenAI в том, что, как оказалось, как минимум в теме AI для роста гораздо важнее тупая производительность и железо, нежели архитектура.

Кроме того LLM наглядно показали, что "человеческий гений" -- в существенной степени сказка, и даже такую вроде бы культовую интеллектуальную работу, как написание кода, нейросеть спокойно осилила на весьма удовлетворительном рабочем уровне.

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

И что ещё более удивительно: LLM ведь не дают "корректные ответы", они просто генерируют последовательности слов/токенов, которые просто статистически "похожи" на требуемый результат.
По данным HeadHunter, в январе 23-го число ИТ-вакансий составило 58 тыс. -- рост к прошлому январю на 63%! В ноябре был рекорд 90 тыс., и похоже, что уже к весне пробьёт сотку.

При этом ещё надо помнить, что где-то 50-80% нуждающихся в программистах компаний вообще не выставляют вакансии на таких сайтах (что с этим делать, учу на курсе карьеры).

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

Думаю, что к осени счёт пустых вакансий пойдёт уже на сотни тысяч.
В каких случаях имеет смысл пользоваться ChatGPT, Ghostwriter, Copilot и т. п.?

1. Когда есть чёткая автономная задача, где нужен просто код решения (как задачки на литкоде).

2. Когда вы используете фреймворк или технологию, в которой 100500 фич и гигабайты документации, и надо что-то накодить с очень плотной к нему привязкой.

3. Для небольших сайд-проектов с нуля.

Во всех остальных случаях вы сразу попадаете во взрослое проектирование, где качественных материалов в свободном доступе практически нету, а хорошие курсы и воркшопы стоят многие тысячи долларов. Учиться AI (пока) не на чем. Ну и в общем, без целостного понимания конкретного проекта AI будет просто давать джуниорские советы на уровне SOLID.