MLE шатает Produnction

Description
Творю черную магию с нейронными сетями в Yandex

Рассказываю про различные инструменты разработки, про курьезные случаи и делюсь своим мнением об этом вашем IT.

Автор: @toshiksvg
Advertising
We recommend to visit

Официальный новостной канал криптобиржи OKX | www.okx.com на русском языке.

💬 Комьюнити: t.me/okx_russian

👨‍💻 Поддержка: [email protected]

АДМИН: @DaniiOKX
Маркетинг: @CoffeeTrends

Last updated 1 month ago

Here in simple language about TON and crypto

Founder: @metasalience
contact : @deftalk_bot

Last updated 4 months, 1 week ago

Канал о TON и все что с ним связано:
1. Аналитика
2. Инсайды
3. Авторское мнение

Ведро для спама: @ton_telegrambot

Бот с курсами криптовалют: @TonometerBot

Чат: @chaTON_ru

Админ: @filimono

Last updated 1 month, 1 week ago

3 months, 1 week ago
3 months, 1 week ago

VLM в Нейро

Сегодня у нас большое обновление в Поиске. В том числе, команда VLM тоже приняла в нём участие!

Написали с коллегами пост на хабр про то, как мы затаскивали VLM в Нейро (писал про релиз здесь). В этот раз мы немного раскрыли подробности про то, как работает Нейро, где и зачем потребовалась там мультимодальность. Припорошили немножечко теорией про VLM.

Больше ни слова в посте, приятного прочтения поста!

3 months, 2 weeks ago

Использование LLMок в быту

Я бы тут хотел завести дискуссию. Каким образом вы используете LLMки? Какие повседневные задачи вы решаете с их помощью?

Совсем недавно мне нужно было написать простого телеграм-бота. Чтобы вы понимали, я последний раз их писал лет 7 назад (своими руками, да-да-да 😀), потому скорее всего чот да изменилось. С помощью LLMки смог это сделать за минут 15-20. Пришлось, правда, пару раз в доку слазить, потому что всё же набаговала.

Другой пример: мне однажды нужно было написать multipart запрос на плюсах, пообщавшись о том, чо эт вообще за зверь, написал. Но при этом сам код, который выдавал LLMка — ну реально был ужасен, там нужно было всё фиксить, реально. Ну и странно, на теории она Лев Толстой, а на деле... 👨‍🦳

И вот сколько я не пытаюсь, почему то на питончике всё работает хорошо, а на плюсах — ну вообще такое. Помните недавний пост про задачку? Так вот я спросил chatgpt, она мне дала правильный ответ. Ну я решил уточнить, что там константный член и понёсся бред 😊. Грустненько.

Мб надо для чего-то еще использовать? Или мб мне просто не везёт 🤨? Поделитесь, пожалуйста!

3 months, 2 weeks ago
**Yandex CV reading club**

Yandex CV reading club

Мы с коллегами из Яндекса запустили канал с разбором статей из области компьютерного зрения. Присоединяйтесь, будет интересно!

Подписаться сюда: @timeforcv

3 months, 3 weeks ago

Про задаченьку выше
Давайте разбираться с решением к задаче выше. В комментариях можете почитать более полные рассуждения, мы там всё обсудили 😊. Мой ответ изначально было такой: там будет UB, и нужно использовать std::launder. Но в действительности сейчас (С++20+) — там будет 1 2 2.

Такой ответ был исходя из того, что до 2019 года в стандарте прописывалось (т.е. до C++20), что в случае, когда на куске памяти, куда ссылается указатель объекта, создается новый объект, то все ссылки и указатели старого объекта начинают ссылаться на новый объект, КРОМЕ случаев, когда, например, объект содержит в себе константные члены. Ссылка тык.

Начиная с C++20 все буллеты в этом пункте убрали, таким образом ослабили требования на типы данных. Мотивация была в том, что всякие контейнеры, которые используют placement new было ограничены в использовании и было сложно использовать такие контейнеры для определенных типов данных, потому что по стандарту это было бы UB.

Самая задача была навеяна одним из примеров статьи на хабре про std::launder. Интересная статья, советую прочитать, ещё раз вспомнить про механизмы девиртуализации в том числе 😍.

3 months, 3 weeks ago

Задаченька

Что выведет данный код 🤔? Почему это так?

```

struct Lol {
const int kek;
};

void test() {
Lol cheburek = new Lol{1};
const int a = cheburek->kek;
Lol
cheburek1 = new (cheburek) Lol{2};
const int b = cheburek1->kek;
const int c = cheburek->kek;

std::cout << a << ' ' << b << ' ' << c << std::endl;

}
```

P.S. Не гуглите и не пользуйтесь чатботами. Подумайте сами!

6 months, 2 weeks ago

Излишняя переоптимизация

Наверное тот навык, который я всё ещё оттачиваю, но уже вполне неплохо овладел — излишне не переоптимизироваться ?‍?. Я имею в виду, стараться использовать все ресурсы, которые есть сейчас, чтобы достигнуть своей цели. На это смотреть можно под разными углами, но я постараюсь объяснить свою точку зрения.

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

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

Другой пример: разметка данных. Можно сделать автоматизирующий процесс, "оптимизировать" бюджет, потратить полгода работы команды разработчиков. А можно часть отдать команде разметчиков, провалидировать гипотезу, а потом пилить автоматизирующий процесс, если в этом будет необходимость.

Самый вопиющий для меня случай (я не знаю, насколько это правда) — это система турникетов в метро Питера ?‍?. Дело в том, что петербуржский подорожник хранит информацию об оставшемся балансе денег. И в момент отработки с турникетом — просто списывает необходимую сумму денег. Как я понимаю, в этот момент может вообще не происходит коннекта к БД, хранящей инфу про карточки. Таким образом достигается быстрота взаимодействия.

Та же система в московском метро работает немного иначе. Тройка — просто идентификатор баланса в БД. А потому при проходе турникета, тот должен сходить в БД, совершить транзакцию списания, а потом вам открыть путь в подземный мир. Это медленнее, чем подорожник.

И казалось бы, подорожник круче тройки ?? Ну не совсем. Больше всего меня бесит то, что я не могу пополнить подорожник удаленно. Ну т.е. как бы могу, но потом мне нужно приложить карту к специальному валидатору (т.е. не к любому), чтобы деньги "зачислились" на карту. Ну и это бред. Ради быстроты (оптимизация времени работы), а скорее всего еще супер быстрой реализации (оптимизация бюджета и времени разработки) мы лишаемся очень важной пользовательской фичи.

Мораль: не переоптимизируйтесь.?

6 months, 3 weeks ago

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

Я никогда не слышал про БМ25, но потом пошел гуглить и нашел:
https://habr.com/ru/articles/162937/

Новое, кмк, получше.

Ну а по теории кажется лучше почитать: https://kmwllc.com/index.php/2020/03/20/understanding-tf-idf-and-bm-25/

We recommend to visit

Официальный новостной канал криптобиржи OKX | www.okx.com на русском языке.

💬 Комьюнити: t.me/okx_russian

👨‍💻 Поддержка: [email protected]

АДМИН: @DaniiOKX
Маркетинг: @CoffeeTrends

Last updated 1 month ago

Here in simple language about TON and crypto

Founder: @metasalience
contact : @deftalk_bot

Last updated 4 months, 1 week ago

Канал о TON и все что с ним связано:
1. Аналитика
2. Инсайды
3. Авторское мнение

Ведро для спама: @ton_telegrambot

Бот с курсами криптовалют: @TonometerBot

Чат: @chaTON_ru

Админ: @filimono

Last updated 1 month, 1 week ago