Dmatryusофрения
41 subscribers
291 photos
10 videos
15 files
148 links
Пишу о книгах, лидерстве, технологиях, opensource, своих проектах и наверное чем-то ещё. Ну и репосты IT приколямб.
Download Telegram
Forwarded from Data Secrets
This media is not supported in your browser
VIEW IN TELEGRAM
А вот Ян Лекун по поводу ризонинга настроен не так оптимистично, как стартапы. Вот что он сказал на своей недавней лекции:

"Языковые модели НЕ МОГУТ рассуждать или планировать — даже такие модели, как o1 от OpenAI. Нам кажется, что они рассуждают, но на самом деле они просто выполняют интеллектуальный поиск.

Это не значит, что LLM бесполезны. Они очень полезны. Но тем не менее, они не – не путь к суперинтеллекту, несмотря на то, что говорят некоторые в США."


Лекун также ссылается на исследователя по имени Subbarao Kambhampati, у которого есть целая серия статей про то, что LLM не могут планировать. Серьезно, статьи так и называются: "LLMs Can't Plan", "LLM Still Can't Plan" и так далее в том же духе. Кажется, у него стоит поучиться остаивать свою позицию 😎
Please open Telegram to view this post
VIEW IN TELEGRAM
#thought

О рекрутинге и Leetcode.

Часть 1. Как мы нанимали стажера.

Недавно мы искали стажера и довольно быстро и успешно нашли.

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

Подготовка к собеседованиям. Сказать по правде, из-за статуса душнилы меня с осторожностью звали на собесы, но зря. Душность душностью, а работа работой. Конечно, подушнить на собесах - милое дело, но обычно главная цель душности - это добыча бонусных баллов для кандидата, а не что-то целевое. Исходя из наших задач, мы определили некий "портрет стажера" и соответственно якорные точки по которым мы будем рисовать "портрет кандидата", чтобы их сопоставить. Наш стажер должен был быть (на мой взгляд) довольно простеньким микрочелом, но хорошим в своей простоте. Звучит старомодно, но практика показывает, что это эффективно.

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

Во второй части сформулирую свои мысли по поводу современных практик найма вообще.
🔥4
Вау! Надо будет поиграть с этим!
Forwarded from Data Secrets
Выяснилось, что LLM могут считать, что 9.8 < 9.11, из-за Библии, физики или даже теракта 11 сентября

Исследователи из Transluce – только что анонсированной некоммерческой ИИ лаборатории – создали инструмент Monitor. Это еще одна попытка интерпретировать черный ящик LLM и научиться понимать, как модели обдумывают свои ответы. Основной прикол тут в интерфейсе (см.скрины), такого уровня UX подобные интерпретаторы еще не видели.

Как и предыдущие решения от OpenAI и Anthropic, инструмент основан на архитектуре SAE, то есть на разреженных автоенкодерах, которые распутывают активации LLM и достают из них так называемые интерпретируемые "фичи" (подробнее про то, как устроены такие автоенкодеры писали здесь).

Самое интересное: исследователи прогнали через свою тулзу задачи, на которых LLM традиционно фейлятся, и результаты получились крайне занятные. Например, в той самой задачке, где LLM предлагается сравнить числа 9.8 и 9.11, в ее "мыслях" (в данном случае рассматривают Llama 3.1) внезапно всплывает информация про атаку 11 сентября (9.11) и гравитационную константу (9.8).

Вероятно из-за того, что эти темы появлялись в обучающих данных Llama очень часто, числа 9.8 и 9.11 перестают восприниматься ею как обычные числа: она воспринимает их, как другой вид объектов, путается и несет чепуху.

Но это не все: можно погрузиться глубже и спросить у интерпретатора не просто о том, какие темы вообще активируются при ответе на вопрос, но и о том, какие именно из них заставляют модель сказать "больше". Если это проделать, то получается, что модель начинает думать про Библию. Оказывается, определенные нейроны в этом кластере связаны со стихами из Библии, и выходит, что 9.8 и 9.11 интерпретируются как 9:8 и 9:11 (глава: стих). Это неудивительно: большинство наборов данных для претрейна содержат много копий Библии.

Ученые предположили, что если избавиться от таких тематик, ведущих модель по неверному пути, она все-таки может дать верный ответ. И это заработало! Если с помощью интерпретатора "выключить" вышеперечисленные кластеры нейронов, то модель меняет свое мнение и отвечает правильно: 9.11 меньше 9.8.

Короче, интерпретатор не только занятный в роли песочницы, но и действительно полезный. Исследователи отмечают, что это только прототип для интерфейсов с еще более широкими возможностями. Например, Monitor в его нынешнем виде оставляет построение гипотез пользователю: он позволяет наблюдать, какие идеи лежат в основе вычислений модели, но не объясняет, как модели принимают окончательные решения с помощью этих идей. Агенты-исследователи будущего же смогут не только анализировать решения модели, но и помогать автоматически исправлять галлюцинации.
🔥2🤔2
#thought

О рекрутинге и Leetcode.

Часть 2. Собеседование стажера в бигтех

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

В бигтехе обычно можно выделить 4 этапа собеседования (это не обязательно разные собеседования):
1. Проверка софтскиллов
2. Лайфкодинг и Литкодинг (задачи на алгоритмы)
3. Техстэк и домен
4. Собеседование с командой

2 и 3 этапы проходят независимо и потому могут идти в любом порядке.

1. Софтскиллы. Кажется, что для стажера не критично. Если человек в принципе способен нормально общаться, то ок. Если софтскиллы хорошие, то это большой плюс. Я убеждён, что софтскилл в жизни и работе - разные. К примеру, в жизни у меня с ними, мягко говоря, не хорошо. В работе тоже не идеально, но тест по ним у меня был почти идеальный и по отзывам хорошо (хотя и есть слабые места).

2. Лайфкодинг и Литкодинг. Здесь подробно останавливаться не буду, так как тема для 3 части.

3. Техстэк и домен. Для стажера достаточно, чтобы он был знаком с ними, но глубокого вовлечения не требуется. Так наш основной домен - матстат, а вторичный - финансы. Важны хотя бы поверхностные знания в них, но и желания их расширять. По техстэку pandas и ООП в основном. Понятно, что наш стэк гораздо шире, но для стажировки не требуется вся его широта.

4. Собеседование с командой. Важно, чтобы у команды был мердж с кандидатом. Тут у разных команд разные критерии мерджа. Нам была важна заряженность на рост, желание писать хороший код и фулл тайм гибрид работа.

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

О рекрутинге и Leetcode.

Часть 3. Лайфкодинг и Leetcode.

Я считаю, что это абсолютно бесполезная часть собеседования.

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

2. Leetcode. Решение задач с Leetcode показывает в основном то, сколько кандидат решал задачи на Leetcode. Дело, конечно, полезное, но мало что общего имеет с реальными задачами. Классические алгоритмы уже реализованы в либах, а в экзотических задачах обычно важнее её решить, а не решить "единственно верным способом".

3. Абстрактные задачи. В принципе та же фигня, что и с Leetcode. Врядли вам нужно будет на работе минимизировать риск застрелиться при игре в русскую рулетку,  искать фальшивые монеты посредством взвешивания или измерять длинну замкнутого поезда. Понятно, что это может быть связано с реальными задачами, но само по себе в первую очередь говорит о том, знаком ли кандидат с задачей. Единственное... Можно посмотреть на то, как кандидат будет рассуждать,  но не самый эффективный способ.

4. LLM. Почти все эти задачи они решают лучше, чем средний кандидат. Где-то читал, что последняя ChatGPT решает 21 из 22 задач с Leetcode, включая уровень hard. Есть сомнения в достоверности и сурса у меня нет. Тем не менее, это не отменяет проблемы. Это огромный потенциал для читинга. Вы врядли хотите нанять человека, который просто освоил базовый промптинг (если да, то подход хороший).

В следующей части подробнее выскажусь в целом про практику Leetcode в отрыве от рекрутинга.
🥰2
#thought

О рекрутинге и Leetcode.

Часть 4. Leetcode в вакууме.

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

1. Навык литкодинга ничего не говорит о том, как разработчик справится с реальной работой.

2. Скорее всего в реальной работе не нужно "инвертировать бинарное дерево"

3. Leetcode — это не курс по структурам данных и алгоритмам. Для того, чтобы решение задач было полезным, нужно понимать, что делать и почему, а не заучивать патерны.

4. Уже есть тот, кто решил задачу "единственно верным способом". Можно у него чему-то научиться, но и уйти в самокопание. В любом случае часто...

5. Обсуждение задач может оказаться полезнее их решения.

6. Leetcode вырабатывает привычку проверять пограничные случаи... А ещё работа в команде, где есть команда (пусть состоящая из одного человека) тестирования.

7. Leetcode - не плохая платформа, чтобы тренировать навыки работы с новым языком. Конечно, речь не об архитектуре, фреймворках и практиках языка, а больше про понимание синтаксиса и базовых языковых конструкций.

8. Не все структуры данных актуальны для высокоуровневых языков (типа Python). Leetcode в большей степени полезен для тех, кто разрабатывает низкоуровневые алгоритмы или приложения.

9. Скорее всего есть способы эффективнее потратить свое время, если Ваша цель не закрепить знания по алгоритмам и структурам данных. Ещё мотивацией может быть подготовка к собеседованию на какую-нибудь модную галеру.

Вроде основные мысли сформулировал. Следующая часть по планам завершающая цикл. Она будет про то, как я вижу идеальное собеседование.
👍2
Интересно сравнить с Flux
Forwarded from Data Secrets
⚡️ Вышла Stable Diffusion 3.5 Medium

В модельке 2.5В параметров, так что, как создатели написали в релизе, запустить ее можно даже «на тостере». Для малышки потребуется всего 10 Гб видеопамяти, а на метриках это SOTA в своем размере.

Самое приятное: модель открыта как для личного, так и для коммерческого использования.

Веса | Блог
Please open Telegram to view this post
VIEW IN TELEGRAM
🎉3
#thought

О рекрутинге и Leetcode.

Часть 5. Идеальное собеседование.

В этой части я расскажу о том, как вижу идеальное собеседование. Речь пойдёт прежде всего про позиции мидл и сеньор. Все-таки джунов и стажеров надо собесить иначе.

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

Этап 1. Знакомство и самореклама.
1.1. Работодатель рассказывает про компанию, команду, проекты, стэк.
1.2. Соискатель рассказывает про свой опыт, проекты, актуальный стэк.
1.3. Обсуждение всего рассказаного.
1.4. Дополнительные вопросы обычно по условиям работы, ожиданиям и дальнейших шагах.

Этап 2. Рабочий кейс. Здесь у работодателя и соискателя уже есть более-менее понимание друг о друге. На этой сессии происходит испытание в практическом поле, которое может в себя включать:
× System Design
× Code review
× Brain storm
× Обсуждение статей или технологий
Наверное есть и другие варианты, но я считаю, что это точно не лайфкодинг, литкодинг и не абстрактные задачи. Кажется, что такая сессия - достаточна для того, чтобы понять уровень компетенции человека и каково с ним будет работать.

Этап 3. Оплачиваемое тестовое задание. Важно понимать, что это не обязательный этап и происходит только по обоюдному согласию.
3.1. Работодатель предлагает его по результатам этапа 2, если у соискателя были интересные мысли, которые могут быть полезны в рамках проекта. В некотором роде это можно расценивать, как привлечение внешнего эксперта.
3.2. Соискателю может быть интересно попробовать что-то новое и понять с какими задачами предстоит столкнуться.
3.3. Этот этап даёт много информации, как о работодателе, так и о соискателе.

Кажется в этом цикле постов коротко описал основные мысли по теме.

Как Вам такой формат? Думаю, что такие посты/циклы постов будут не редкими.
#activity

В последнее время я занимался небольшим погружением в статистические критерии, которые коротко описал у себя на github_pages. Далее в рамках этого проекта планировалось изучать распределения случайных величин... Но сейчас это направление стало выглядеть менее интересным и актуальным. Его минимальная задача выполнена и хорошо.

Сейчас у меня в планах больше подумать о разных вещах, поработать с текстом и поиграться с Godot. В идеале сделать приложение на нём, но тут как пойдет.
#life

Корочи новогодние праздники я проведу на зводе.
🏆3
Dmatryusофрения pinned «#knowledge_box По совету Димы попробовал GitHub Pages. Оно все так же всрато, но уже захощено) https://dmatryus.github.io/knowledge_box/»
Побаловался с godot:
🔥3🤔1
Win.zip
27.1 MB
Если кому интересно поиграть, то вот билд под винду)

Разбираюсь пока, как на андроид собрать.
Dmatryusофрения
Win.zip
Потратил уже много времени на попытки собрать, но не получилось(

Видимо пока годот откладываю.
Dmatryusофрения
Побаловался с godot:
Кстати, там есть забавная посхалка. На самом деле эти зеленые квадратики - это не просто зеленые квадратики, а маленькие текстурки пиксельной травы) Если присмотреть поближе, то можно это увидеть
Интересное.