Эссе о разработке игр, мышлении и книгах

Мигрируем с GPT-3.5-turbo на GPT-4o-mini

Угадайте когда я переключил модели.

Угадайте когда я переключил модели.

На днях OpenAI выпустила GPT-4o-mini — новую флагманскую модель для дешёвого сегмента, так сказать.

  • Говорят, работает «почти как» GPT-4o, а иногда даже круче GPT-4.
  • Почти в 3 раза дешевле GPT-3.5-turbo.
  • Размер контекста 128k токенов, против 16k у GPT-3.5-turbo.

Конечно я сразу побежал переводить на эту модель свою читалку новостей.

Если кратко подвести итоги, то это крутая замена GPT-3.5-turbo. У меня получилось сходу, не меняя промпты, заменить двух LLM агентов на одного и суммарно удешевить работу читалки раз в 5 без потери качества.

Но потом я полез тюнить промпт, чтобы сделать ещё круче, и начал сталкиваться с нюансами. О них расскажу далее.

Далее

Мои GPT-шки и prompt engineering

Понечки занимаются prompt engineering (c) DALL-E

Понечки занимаются prompt engineering (c) DALL-E

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

В какой-то момент, OpenAI разрешили настраивать свой чат с помощью собственных текстовых инструкций (ищите Customize ChatGPT в меню). Я постепенно дописывал туда команды и вот на днях размер инструкций превысил разрешённый максимум :-)

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

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

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

  • Expert — ответы на вопросы.
  • Abstractor — краткое изложение текста.

Для каждой будет описание базового промпта с моими комментариями.

OpenAI недавно открыла магазин GPT-шек, буду благодарен если пролайкаете мои. Конечно, только если они вам полезны.

Далее

Про увольнение Sam Altman и регуляцию ИИ

ChatGPT: Draw an image: "Skynet writes regulations for the AI industry" in the style of "Reply of the Zaporozhian Cossacks".

ChatGPT: Draw an image: "Skynet writes regulations for the AI industry" in the style of "Reply of the Zaporozhian Cossacks".

Последние дни идут новости, что Sam Altman — CEO OpenAI — уволен советом директоров и вслед за ним уходит много сотрудников компании.

Точных причин не названо, формулировка борды в духе «утратил доверие».

На сколько я понимаю, основная гипотеза интернетов на текущий момент — разногласия между фракциями прогрессоров и регуляторов.

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

Sam Altman выступает за фракцию прогрессоров.

Если всё так, то его уход — плохая новость. На мой взгляд, самое вредное, что можно сейчас сделать для отрасли — это зарегулировать её.

Далее

Feeds Fun — читалка новостей с тегами и ChatGPT

Выглядит неприглядно, но это временно.

Выглядит неприглядно, но это временно.

Задержался с постом, а между тем читалка уже работает и экономит мне 4-8 часов в неделю.

Для нетерпеливых и ленивых:

  • Репозиторий: github.com/tiendil/feeds.fun
  • Сайт: feeds.fun — заходите, подписывайтесь на подготовленные коллекции новостей, экспериментируйте.

Суть:

  • Читалка автоматически определяет теги для каждой новости. Тут очень кстати пришлась ChatGPT.
  • Вы создаёте правила в духе elon-musk & twitter => score -100500, procedural-content-generation & hentai => score +13.
  • В интерфейсе сортируете новости по интересности и читаете только самые-самые именно для вас.

Если есть просьбы по фичам — создавайте issue, постараюсь воплощать. Хочется, чтобы штука пошла в народ.

Далее

Реализация Generative Adversarial Network

В завершение разбирательства с Deep Learning решил посмотреть что-нибудь более интересное и ориентированное на генерацию контента — реализовать GAN.

По правде говоря, большую часть времени с GAN (и Autoencoder) я экспериментировал на спрайтах карты Сказки. Ожидаемо, на таком мизере обучающих данных ничего интересного не получилось. Хотя польза и была. Поэтому для поста я подготовил отдельный notebook с более наглядными результатами — генерацией обуви по набору данных Fashion MNIST.

Ноутбук с реализацией GAN и комментариями.

Про архитектуру GAN лучше почитать в вики, интернетах или моём ноутбуке.

Краткая суть:

  • Тренируются две сети: generator & discriminator.
  • Генератор учится создавать картинки из шума.
  • Дискриминатор учится отличать поддельные картинки от настоящих.
  • Ошибка дискриминатора определяется качеством предсказания фейковости изображения.
  • Ошибка генератора определяется качеством обмана дискриминатора.

Если правильно подобрать топологии сетей и параметры обучения, то в итоге генератор научается создавать картинки неотличимые от оригинальных. ??????. Profit.