LOVESYUK
Ir al canal en Telegram
Пишу тут о том что интересно. А интересно мне про IT, нейросети, стартапы и много ещё чего. Обо мне: основатель двух IT компаний. Люблю писать код и обучать ML модели. Делаю мини-проекты и рассказываю о них тут. with 💙 from @mr_vvv
Mostrar más2 279
Suscriptores
-124 horas
-27 días
-230 días
Archivo de publicaciones
2 279
Идея для командных синков: вместо того чтобы рассказывать о своей работе вслух, просить агента сделать про неё видео в стиле 3Blue1Brown и показать его всем.
2 279
Repost from Закон Бекоза
Надо решать сложные задачи с ИИ
Мой друг Саня не так давно высказал мысль, что ИИ стал достаточно сильным, чтобы с ним можно было не просто ботов делать и сайты верстать, а решать по-настоящему сложные задачи.
Например, провести drug research и разработать вакцину от своей болезни. Или спроектировать новый вид газотурбинных генераторов для датацентров малой мощности. Ну или как минимум навайбкодить собственную замену фотошопу
Я вызов принял, и вчера к 3 ночи по НЙ вошел в топ-100 в соревнованиях по машинному обучению для финансов, которое проводит Wunderfund, компания Сани.
97-е место из 4162 участников за 2 дня работы*. При этом я никогда в жизни не держал в руках ML, да и из финансов у меня только акции в Тинькоф Инвестициях 😅
Останавливаться не собираюсь, у агентов задача сегодня войти в топ-50, и за неделю не только стать топ-1, но и сделать какой-то кардинальный скачок, чтобы лидировать с отрывом. Ну чтоб прям вообще повыпендриваться 😎
Посмотрим как справятся, мой кнут уже протерся до дыр, пока заставлял их работать
Есть утверждение, что просто парень с ИИ должен проиграть профессионалу в теме, который использует тот же ИИ. Но возможно в нашей эре на первое место выходит уже не профессионализм, а настойчивость. То, насколько настойчиво ты промптишь ИИ
И повторю мысль, у предпринимателей и менеджеров в работе с ИИ преимущество, потому что они умеют "заставлять" - ИИ говорит, что он что-то не может, а ты говоришь "надо!", и через 5 минут агент уже нашел решение
[*честнее сказать, что из 600 человек, которые залили какие-то нормальные решения, а не пустышу]
2 279
Чтобы обыгрывать 95% шахматистов в блиц достаточно всегда замечать выигрыш фигуры в 1 ход.
Чтобы обыгрывать 99% - достаточно всего лишь всегда замечать вилки и связки в 1 ход.
That's it.
2 279
Проанализировал последние 200 партий с lichess с помощью Claude + Stockfish и вот что узнал про свои ошибки.
Сейчас я в ~90% квантиле по рейтингу lichess.
И даже в такой квантиле основная моя ошибка, что я зеваю фигуру в один ход или не замечаю это у соперника. 😮
2 279
Доказательство теоремы Ферма за 9 часов с школьного уровня
Чел сделал гениальную работу по выбору минимальной цепочки знаний из математики которую необходимо понять для доказательства великой теоремы Ферма.
Только самое важное. Грубо говоря, из теории групп за 30 минут он взял самые нужные конструкции, вместо курса на два семестра.
Начинает с основ, объясняя производную, потом необходимые знания из линейной алгебры, теории групп и тд.
Я пока добрался до полей и колец на 4+ часу.
https://www.youtube.com/watch?v=9f-hGSh8lF0
2 279
Cloudflare сделали для ИИ агентов возможность выкатывать проекты без регистрации и смс
Экспериментировать и писать код с агентами легко, но делиться вайб-проектами всё ещё сложно - друзья опять жалуются, что http://localhost:3000 у них не открывается.
Поэтому Cloudflare сделал возможность чтобы агент мог без создания аккаунта временно залить проект на его сервера. Там проживёт он час для тестов, а потом можно его забрать в своей аккаунт.
Прикольно, тестируем.
Как работают временные аккаунты Cloudflare интегрировала решение в свой cli Wrangler, которым ИИ-агенты уже умеют отлично пользоваться. Обнаружение: Если незалогиненный агент пытается выполнить деплой, Wrangler теперь сам подсказывает ему использовать новый флаг --temporary. Создание: Агент выполняет команду wrangler deploy --temporary. Cloudflare мгновенно создает временный аккаунт, выдает агенту рабочий API-токен и возвращает специальную ссылку для подтверждения (claim URL). Итерация: В рамках одной сессии ИИ-агент может сколько угодно раз обновлять код и делать повторные деплои (например, менять текст, проверять работу через curl и исправлять ошибки). Присвоение или удаление: Временный аккаунт и деплой активны в течение 60 минут. За это время человек-разработчик может перейти по выданной ссылке, войти в свой профиль Cloudflare и навсегда забрать этот проект (включая базы данных и прочие привязанные ресурсы) себе. Если в течение часа аккаунт никто не заберёт, он автоматически удаляется. https://blog.cloudflare.com/temporary-accounts/
2 279
💸 Новое соревнование по машинному обучению от Wunder Fund 💸
В декабре мы подвели итоги предыдущего ML соревнования и выплатили 1М руб призов победителям.
Недолго думая, мы запустили новое соревнование для тех, кто любит обучать нейронки и заниматься методом пристального вглядывания в данные. Или просить LLM-ки делать это за него.
* Как и в прошлый раз надо обучать рекуррентные сетки/трансформеры на биржевых данных.
* Призы: 1М руб+ и возможность попасть в команду Wunder Fund фаст-треком.
Welcome again: https://wundernn.io/predictorium
Единственное место, где за пристальное вглядывание дают призы, а не вызывают полицию.
2 279
Прикольно. Индекс пиццы для Пентагона всё ещё работает.
Суть индекса такая: в ночь когда США замышляют военный движ, то загруженность пиццерий около Пентагона сильно возрастает.
2 279
👊 Новый лидер в нейроюморе - Gemini 3. Лучше генерирует и понимает шутки. 👊
Когда выходит новая версия каждой нейросети, я обязательно её тестирую на датасете, в котором нужно по набору зафиксированных сетапов закончить шутки. Это нужно мне для моей игры PunchMe, в которой помимо живых игроков играет ИИ бот Панчетрон. Кстати, иногда даже выигрывает.
Вот мои наблюдения:
* Все openai модели gpt от 3.5 до 5.1 очень плохи
* Новые версии Sonnet 4 и 4.5 слишком зацензурены и боятся всех обидеть
* Прошлые версии Gemini были неплохи и очень хорошо владели преколдесами русского языка
* Но до сих пор текущей SOTA (лучшей моделью) была старая модель Sonnet-3.7.
Теперь Gemini 3 бьёт её с небольшим преимуществом.
Ещё из интересных метрик: у меня есть датасет из 100 пар панчей для одного сетапа, где люди уверенно предпочитают один вариант другому. В нём действительно один из вариантов очевидно смешнее. Для человека.
Так вот, лучший результат разделения был 80% для gpt-5. Сейчас Gemini мощно усилил точность до 92%.
Кстати, в использовании Gemini 3 есть неочевидная проблема в том, что у неё вообще нельзя отключить режим размышлений, и любой запрос обходится в 1000+ токенов или примерно $0.01+.
Шутки за рубль, получается.
2 279
🤯 Парсинг телеграма с рекурсивным твистом в конце 🤯
У меня появилась идея проекта на выходных: запарсить каналы, которые связаны с IT & ML. Найти тысячу каналов, запарсить с каждого посты и потом отранжировать все посты по интересности.
Какие посты мне интересны?
- Когда автор рассказывает о своём личном опыте, а не пересказывает новости.
- Посты мейкеров, то есть людей, которые что-то создают.
- Посты, которые рассказывают про успехи и провалы.
Технические детали парсинга и скоринга я опущу
Но для истории важно, что посты по моим критериям оцениваю, конечно же, с помощью API от OpenAI.
А теперь твист
После этого я начал анализировать результаты, и в топ-10 постов по интересности мне попался пост о том как человек в выходные запарсил IT-каналы и прикрутил ML от OpenAI, чтобы найти похожие интересные. Тут я выпал 😱😱😱.
P. S. Теперь осознав что произойдёт дальше, добавлю:
Поздравляю друг из будущего, ты нашёл этот пост с помощью парсинга и скоринга интересных тебе постов. Не останавливай цепочку. Напиши об этом.
2 279
📐 π² ≈ g. Не случайно! 📐
Математик заходит в бар, заказывает π² пива. Бармен-физик наливает ему g.π² примерно равно g. Их можно сокращать при расчётах, удобно. Такое помнят все, кто хотел "постигнуть физики мир трудный". Забавное совпадение... Или нет! Оказывается одно из первых определений метра было такое: 1 метр - это длина маятника L, у которого период полуколебания равен 1 секунде. π√(L/g) = 1 sec Поэтому когда-то π² = g было даже строгим равенством 🤯 *** - g — ускорение свободного падения, 9.81 м/с², π² = 9.86 - от этого определения отказались: оказалось, что в разных точках Земли g меняется, и эталон метра “плыл” к экватору.
2 279
📐 π² ≈ g. Не случайно! 📐
Математик заходит в бар, заказывает π² пива. Бармен-физик наливает ему g.π² примерно равно g. Их можно сокращать при расчётах, удобно. Такое помнят все, кто хотел "постигнуть физики мир трудный". Забавное совпадение... Или нет! Оказывается одно из первых определений метра было такое: 1 метр - это длина маятника L, у которого период полуколебания равен 1 секунде. π√(L/g) = 1 sec Поэтому когда-то π² = g было даже строгим равенством 🤯 *** - g — ускорение свободного падения, 9.81 м/с², π² = 9.86 - от этого определения отказались: оказалось, что в разных точках Земли g меняется, и эталон метра “плыл” к экватору.
2 279
🌟 200 тыс. шуток, вебсокеты и Gemini: История одного обновления 🌟
Многие тут помнят, что в свободное время я делаю юмористическую игру для друзей PunchMe. Устроено всё так: собираетесь с друзьями в игровой комнате, каждому дают по началу шутки которую надо смешно закончить, потом все хихикают и голосуют у кого веселей вышло.
Делал первую версию чтобы играть с друзьями, но проект стал достаточно популярным и игроки уже написали порядка 200k панчлайнов.
Так вот, хочу рассказать о гигантском обновлении PunchMe
Чистый новый интерфейс
Прекрасный новый минималистичный UX/UI дизайн сделал Илья. Оживили и сверстали фронт Вова с командой на VueJs + Tailwind.
Можно играть со своими иностранными друзьями
Добавил поддержку английского в интерфейсе + есть англоязычный пакет вопросов. Работает даже озвучка.
Панчетрон ещё смешнее
AI бот, который играет с вами, теперь на голову смешнее предыдущей версии. Основной буст произошёл от перехода с gpt4 на gemini, который прекрасен на русском и, на удивление, не сдерживает себя в политкорректности. Иногда даже краснею за него.
Новый пакет: вопросы с никами
Часто с друзьями играли, когда в заходах для шуток (сетапах) были имена друзей. Очень весело. Хардкодил раньше этот режим вручную, теперь добавил эту функциональность при создании комнаты.
Всё работает быстрее на вебсокетах и асинхронно
Бек и фронт перевёл с rest-api на вебсокеты. Переписал весь код на асинхронный (flask → fastapi). Всё стало работать бодрее.
Бекэнд теперь организован
Перешёл с sqlite на mongo, который очень удобно поднимать с помощью докера. Сам бекенд и сборка фронта теперь тоже живут в своих контейнерах. Прокачал тут свой докер скилл.
Пробуйте с друзьями 🎉️️️️
2 279
🎓 Alma Mater Folder 🎓
Ребята-физтехи организовались и сделали папку классных телеграм каналов. В которой я тоже есть 😏.
Много ребят C-уровня: фаундер Skyeng, CEO Epic Growth, VP в Osome, CPO в Яндекс.Лавке, etc.
Рекомендую заценить! Кучу интересного: много мейкеров (кто пилит свои проекты), датасаенс конечно же, истории про создание настольных игр и многое другое на что можно залипнуть.
Чек ит аут
2 279
Repost from эйай ньюз
🔥 Wunder fund: вакансия Senior Data Researcher 🔥
TLDR: Wunder Fund, Senior Data Researcher, Алготрейдинг, HFT
🌍 Локация: Remote/Релокация в несколько стран
💰Вилка: от $5k до $7k на руки, иногда больше — договоримся (есть привязка к валюте, можем платить в долларах или крипте)
👁 Инфа: Мы — Wunder Fund, занимаемся высокочастотной торговлей (HFT) с 2014 года. Торгуем на 14 биржах по всему миру и наш дневной оборот больше $5 млрд. Сейчас ищем в команду Senior Data Researcher, который возглавит направление нейросетей в Wunder Fund.
Вам предстоит обучать модели, проверять гипотезы и добиваться максимальной точности моделей. Задача похожа на Kaggle-соревнование, только модели и фичи должны считаться максимально быстро.
Вы будете работать в сильной команде — это лучшие программисты, математики, физики, выпускники лучших вузов, победители соревнований и международных олимпиад. Наша сфера очень конкурентна, поэтому мы используем самые современные технологии, чтобы обеспечить максимальную скорость и точность наших систем.
🤓 Что вам понадобится
- Хорошо знать Python и математику
- Быть опытным практиком пристального вглядывания в данные
- Иметь успехи в Kaggle соревнованиях (Kaggle Master/Grandmaster)
- Иметь опыт успешного обучения трансформеров и LSTM.
- Будет плюсом: опыт в соревнованиях по NLP, Speech Recognition.
Условия: работа в команде выпускников МГУ и Физтеха, полная удаленка, гибкий график, ЗП по результатам собеседования от $5,000 до $7,000 на руки.
Небольшой видос про data science у нас и исследования — https://youtu.be/in2wXwxeaqs
Ссылка на вакансию: https://clck.ru/3A2CnM
Как откликнуться
Пишите в ТГ @nedifar1703
#промо
2 279
🔮 Как считать экспоненту с помощью умножения и сложения 🔮
const int L = 1 << 23; // == 2^23
const float a = L / std::log(2);
const float b = L * 127;
float fastExp(float x) {
x = a * x + b;
return std::bit_cast<float>((int)x);
}
Выше упрощенная версия кода, который считает приблизительное значение экспоненты, который я недавно встретил на GitHub.
Я был супер удивлен, что тут умножение + сложение + преобразование типов, и всё — экспонента подсчитана.
В моей голове экспонента всегда была нетривиальной операцией, на которую требуется много тактов. Как же так, давайте разбираться.
Целые и дробные числа хранятся в битах по-разному
Числа в формате int хранятся ожидаемым образом, например, для числа 123:
123: int = 0000000000000000000000000 1111011
Числа в формате float хранятся в виде маски битов:
s eeeeeeee mmmmmmmmmmmmmmmmmmmmmmm
s — 1 бит знака. Определяет, положительное число или отрицательное.
e — 8 битов экспоненты. Показывают степень двойки.
m — 23 бита мантиссы. Хранят дробную часть числа.
Само число = (-1)^{s} * 2^{e} * 1.{m}
Например для нашего числа 123:
123: float = 0 00000110 11101100000000000000000
e = 00000110b = 6
m = 0.1110110b = 0.921875
Проверяем: 2^{e} x 1.{m} = 2^6 x 1.921875 = 123. Сходится!
Переводить представления из int в float и обратно несложно, и процессор умеет делать это очень эффективно.
Чтобы понять суть алгоритма, вместо e^{x} будем считать 2^{x}
Считаем быстро 2^{x} если x - int
Заметим, что если мы знаем двоичное представление x, то если мы его засунем в биты экспоненты float, то задача уже решена (e = x, m = 0). Это ключевое наблюдение для понимания алгоритма!
В int представлении все биты числа x у нас хранятся в правом конце числа. Чтобы сдвинуть их в область экспоненты, мы умножим наш int x на 2^23. Тем самым просто допишем 23 нуля справа.
В этих двух идеях и есть вся суть. Как перейти от 2^{x} к e^{х} в других деталях можно разобраться самому или заглянуть в оригинальную статью.
Cчитать экспоненту в десятичной системе мы (человеки) тоже можем с помощью одного умножения (wow!)
Например, чтобы оценить exp(36) мы можем переписать
exp(36) = 10^{36 * log10(e)} = 10^{15.634} ~ 10^16
Эта неожиданная похожесть алгоритмов, получается из-за того что научная запись чисел вроде 5.34e7 очень похожа на то, как хранятся float в компьютере.
P. S. На самом деле степень двойки в экспоненте float сдвинута на 127, чтобы мы могли записывать как большие числа, так и очень маленькие. Мы учитываем этот сдвиг, добавляя b = L * 127. Я убрал его, чтобы он не отвлекал от основной идеи.
P. P. S. Для тех кто всё понял: почему умножение на 2^32 в коде происходит в float, а не в int и что происходит с мантиссой в этом случае?
@lovesyuk2 279
🎱 Задачка по битовой магии 🎱
const int L = 1 << 23; // == 2^23
const float a = L / std::log(2);
const float b = L * 127;
float fast_math_function(float x) {
x = a * x + b;
return std::bit_cast<float>((int)x);
}
Выше упрощенная версия кода который считает приблизительное значение некоторой стандартной математической функции. Из действий тут только умножение + сложение + преобразование типов. А результат получается супер нетривиальный!
Вчера я потратил значительное время чтобы полностью понять как это работает эта магия. Расскажу о ней в следующем посте.
А пока два вопроса:
- Что это за функция?
- Как и почему работает этот магический код?2 279
Claude-opus на русском умнее chatgpt-4!
Есть классная чатбот арена, где пользователи оценивают, какая из двух языковых моделей ответила на их вопрос лучше. На основе предпочтений пользователей формируются рейтинги умности этих моделей.
Сейчас это самый объективный рейтинг. Часто его смотрю.
Сегодня я посмотрел на датасет сравнений и обнаружил, что создатели платформы ещё и сохраняют и язык запросов! А это значит, что можно выбрать только запросы на русском и заного пересчитать скрипты для вычисления рейтингов. Что я собственно и сделал - см. картинку выше.
На русском языке claude-opus выигрывает у gpt-4 c вероятностью ~58%.
Заметный перевес!
@lovesyuk
2 279
Всех с 3.14 - днём Пи!
Сейчас получил большое удовольствие от новой попытки Мэта Паркера организовать вычисление Пи с помощью машины из очень плохих вычислителей - из пары сотен людей с ручками и листочками. Офигенно как они устроили конвейер вычислений и верификации результатов. Мощь!
https://youtu.be/LIg-6glbLkU
