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

Заметки об ИИ в 2024: Текущее состояние

Продолжаю заметки об ИИ на конец 2024 года.

В прошлых постах мы обсудили два тезиса:

  • Анализируя решения крупных разработчиков ИИ, таких как OpenAI или Google, мы можем делать достаточно точные предположения о состоянии этой области знаний.
  • Весь текущий прогресс стоит на одной конкретной базовой технологии — генеративных базах знаний, которые есть большие вероятностные модели.

Опираясь на эти тезисы, давайте посмотрим на текущее состояние индустрии.

Далее

Интересный случай оптимизации извлечения данных с помощью Psycopg

Скорость извлечения данных из базы для каждой из оптимизаций. В процентах от скорости базовой реализации. Обратите внимание, что количество извлекаемых строк слабо влияет на время выполнения.

Скорость извлечения данных из базы для каждой из оптимизаций. В процентах от скорости базовой реализации. Обратите внимание, что количество извлекаемых строк слабо влияет на время выполнения.

Раз в год-два мне приходится вспоминать, что Python, ммм… не C++. Обычно, это происходит внезапно, как в этот раз.

Проведя вдумчивый анализ Надоело по 10 секунд ждать загрузки новостей в feeds.fun, поэтому я засучил рукава и полез оптимизировать. Сходу чуть не взялся за эпический рефакторинг, но вовремя вспомнил, что сначала надо измерить, а потом уже резать. Мерять в данном случае совет буквальный — взял профайлер — py-spy — и посмотрел, что конкретно тормозит.

Оказалось, тормозит не вся логика, а вполне конкретное место с извлечением из PostgreSQL таблицы ~100000 строк, плюс-минус 20000. Индексы на месте, тесты проводил с базой на RAM-диске, поэтому со стороны базы всё должно было быть ок.

Такому количеству строк не удивляйтесь:

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

Вооружившись py-spy и исходниками psycopg, я прошёл через три этапа оптимизации, уменьшив время выполнения целевой функции примерно в 4 раза только за счёт изменения формата запрашиваемых колонок в SELECT запросе и кода обработки результата.

Далее я расскажу про последовательность любопытных открытий, которые сделал в процессе.

Внимание!

Этот пост — не исследование производительностие Psycopg или Python, а описание конкретного опыта на конкретной задаче со специфическими данными.

Будет неверно судить о производительности Psycopg, или Python в целом, по одному частному случаю.

Далее

Prompt engineering: строим промпты от бизнес кейсов

Понечки строят промпт (с) ChatGPT

Понечки строят промпт (с) ChatGPT

Как вы знаете, одна из фич моей читалки новостей — автоматическая генерация тегов с помощью LLM. Поэтому я периодически занимаюсь prompt engineering — хочу чтобы теги были лучше, а платить было меньше.

И вот дотюнил я промпты до состояния, когда вроде всё работает, но осадочек какой-то остаётся: правильные теги определяются, но кроме них создаётся ещё 100500 бесполезных, а иногда даже совсем неверных.

Вариантов действий в таких случаях кот наплакал:

  1. Собрать обучающие данные и дообучить модель делать только правильные теги.
  2. Построить цепочку акторов, где один будет создавать теги, а другой — отсеивать лишние.
  3. Попытаться как-то радикально переработать промпт.

На варианты 1 и 2 нет ни денег не времени. Моя текущая стратегия — использовать только готовые ИИ решения, так как в одиночку за отраслью не угнаться. Поэтому пришлось браться за третий.

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

Давайте расскажу в чём была проблема со старым промптом и как её исправил новый.

Далее

Заметки об ИИ в 2024: Генеративная база знаний

Продолжаю заметки об ИИ на конец 2024 года.

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

Скорее всего вы не встречали в интернетах описанную далее логику (за исключением введения про подрывные технологии) — у технарей и математиков может слегка подгореть из-за упрощения и срезания углов. Но это та призма, через которую я смотрю на отрасль, сужу о возможном и маловозможном в ней и так далее. Мой блог — мои правила — мои термины :-D

В общем имейте в виду — это мой личный взгляд, не общепринятый.

Далее

Заметки об ИИ в 2024: Прозрачность индустрии

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

Недавно решил его дополнить, но большой целостный пост всё никак не выходит, поэтому будет серия заметок.

Начну с прозрачности индустрии: у текущей движухи с ИИ есть несколько крутых особенностей, о которых я хочу поговорить.

Далее