Сложно ли работать в FAANG-компаниях с технической точки зрения
Под технической точкой зрения я имею ввиду техническую сложность задач. Насколько сложные задачи с точки зрения кодинга.
Мое мнение - нет.
Это обычная работа. Хоть масштаб задач и другой, вам не надо многие вещи решать с нуля. Тут уже много готовых технологий, библиотек, фреймворков, которые разработаны внутри компании и заточенны под ее нужды. В большинстве случаев достаточно соединить несколько готовых частей, следовать внутренним практикам и все будет работать. Просто, как соединенить несколько деталей Lego.
Есть, конечно, новая и сложная работа, но желающих ей заняться, обычно, много, поэтому далеко не факт, что вам придется с нуля что-то придумывать с технической точки зрения.
Деревья вертеть вам не нужно, а если будет нужно, то делать вы это уже умеете, т.к. прошли собес.
Несмотря на это, в работе много организационных и не технических сложностей. Об этом будет в отдельном посте.
Но все же есть технические особенности:
1) Внутренние тулы/технологии. Очень много всего разработанно внутри компании, поэтому вам придется осваивать их с нуля. Какие-то из них удобные, какие-то нет. У большинства очень скудная документация. Также не получится загуглить ответ по этой технологии, т.к. комьюнити очень маленькое и находится внутри компании. Приходится искать ответ на внутренних ресурсах, задавать вопросы, пинговать людей, копать код самому.
2) Приходится писать на нескольких языках или на не вашем сильном языке. В Амазоне, часто, видел людей, которые писали на Java, но до этого ее не знали. В Meta приходится писать на нескольких языках: Hack, Python, C++, JS, хотя до этого эти языки или не знал или знал очень поверхностно.
3) Могут быть высокие требования к коду. В Meta это не так, но в нашей команде в Amazon это было так. Поэтому потребуется какое-то время на адаптацию, чтобы заалайниться по читаемости, фоматированию, тестам и т.д. Обычно 3-6 месяцев достаточно, если вы обучаемый человек.
4) Придется адаптироваться к новым способам получения информации. Гуглом, stackoverflow, за 8 лет, по рабочим вопросам я мало пользовался. Нужно искать на внутренних ресурсах, группах и т.д. Особенно, большой слом, в этом смысле, это Meta. Тут используется Workplace и не используются письма. LLM пока тоже слабо помогают.
5) Придется адаптироваться к новым процессам. Процесс написания и ревью дизайна, oncall, планирования, управления проектами отличается от других компаний. Поэтому у вас уйдет какое-то время на адаптацию (6-12 месяцев).
Под технической точкой зрения я имею ввиду техническую сложность задач. Насколько сложные задачи с точки зрения кодинга.
Мое мнение - нет.
Это обычная работа. Хоть масштаб задач и другой, вам не надо многие вещи решать с нуля. Тут уже много готовых технологий, библиотек, фреймворков, которые разработаны внутри компании и заточенны под ее нужды. В большинстве случаев достаточно соединить несколько готовых частей, следовать внутренним практикам и все будет работать. Просто, как соединенить несколько деталей Lego.
Есть, конечно, новая и сложная работа, но желающих ей заняться, обычно, много, поэтому далеко не факт, что вам придется с нуля что-то придумывать с технической точки зрения.
Деревья вертеть вам не нужно, а если будет нужно, то делать вы это уже умеете, т.к. прошли собес.
Несмотря на это, в работе много организационных и не технических сложностей. Об этом будет в отдельном посте.
Но все же есть технические особенности:
1) Внутренние тулы/технологии. Очень много всего разработанно внутри компании, поэтому вам придется осваивать их с нуля. Какие-то из них удобные, какие-то нет. У большинства очень скудная документация. Также не получится загуглить ответ по этой технологии, т.к. комьюнити очень маленькое и находится внутри компании. Приходится искать ответ на внутренних ресурсах, задавать вопросы, пинговать людей, копать код самому.
2) Приходится писать на нескольких языках или на не вашем сильном языке. В Амазоне, часто, видел людей, которые писали на Java, но до этого ее не знали. В Meta приходится писать на нескольких языках: Hack, Python, C++, JS, хотя до этого эти языки или не знал или знал очень поверхностно.
3) Могут быть высокие требования к коду. В Meta это не так, но в нашей команде в Amazon это было так. Поэтому потребуется какое-то время на адаптацию, чтобы заалайниться по читаемости, фоматированию, тестам и т.д. Обычно 3-6 месяцев достаточно, если вы обучаемый человек.
4) Придется адаптироваться к новым способам получения информации. Гуглом, stackoverflow, за 8 лет, по рабочим вопросам я мало пользовался. Нужно искать на внутренних ресурсах, группах и т.д. Особенно, большой слом, в этом смысле, это Meta. Тут используется Workplace и не используются письма. LLM пока тоже слабо помогают.
5) Придется адаптироваться к новым процессам. Процесс написания и ревью дизайна, oncall, планирования, управления проектами отличается от других компаний. Поэтому у вас уйдет какое-то время на адаптацию (6-12 месяцев).
👍22❤4💯2
Интервью Demis Hassabis
Интересное интервью с Demis Hassabis.
Чем известен - работает в Google, основатель DeepMind, создал AlphaFold за что получил нобелевскую премию по химии за 2024 год. Играет в шахматы, пиковый рейтинг - 2300. DeepMind создал AlphaGo, AlphaZero, которые играют в Go и шахматы лучше всех людей и движков.
Интервью про AI: https://www.youtube.com/watch?v=yr0GiSgUvPU
Интересное интервью с Demis Hassabis.
Чем известен - работает в Google, основатель DeepMind, создал AlphaFold за что получил нобелевскую премию по химии за 2024 год. Играет в шахматы, пиковый рейтинг - 2300. DeepMind создал AlphaGo, AlphaZero, которые играют в Go и шахматы лучше всех людей и движков.
Интервью про AI: https://www.youtube.com/watch?v=yr0GiSgUvPU
YouTube
Google DeepMind CEO Demis Hassabis: The Path To AGI, Deceptive AIs, Building a Virtual Cell
Demis Hassabis is the CEO of Google DeepMind. He joins Big Technology Podcast to discuss the cutting edge of AI and where the research is heading. In this conversation, we cover the path to artificial general intelligence, how long it will take to get there…
👍7🔥3
This media is not supported in your browser
VIEW IN TELEGRAM
Когда у тебя просят референс в твою текущую компанию.
😁23👍2
Минутка ностальгии: первый опыт программирования, книга, среда разработки
Впервые я познакомился с программированием в 1999 году. Ни дома, ни в школе компьютера не было. Поэтому я ходил в какой-то кружок. Абсолютно ничего не понимал. Просто перепечатывал код, который рассказывал преподаватель. Первый язык, на котором я написал программу, был Pascal. Первые программы были стандартными: "Hello World", сумма чисел с вводом из командной строки и т.д. Писали это в среде разработки Borland Turbo Pascal. Компьютеры были 486 с MS-DOS и 5-ти дюймовым дисководом. В компьютерном классе был главный крутой компьютер с Windows 95 и Pentium 1. Но на нем не довелось поработать, только посмотреть издалека на графический интерфейс.
Первую программу на Java я написал в начале 2006 года. Это было в среде разработки Intellij Idea. Первая книга по Java у меня была: "Как программировать на Java" Дейтел. Дейтел. Выглядела она примерно так: https://www.labirint.ru/books/221364/
Мои первый приложения были с UI на Swing. Всякие калькуляторы, потом написал настольную игру и даже мессенджер по типу аськи с клиентами на Swing и сервером.
Пишите в комментариях, как вы познакомились с программированием.
Впервые я познакомился с программированием в 1999 году. Ни дома, ни в школе компьютера не было. Поэтому я ходил в какой-то кружок. Абсолютно ничего не понимал. Просто перепечатывал код, который рассказывал преподаватель. Первый язык, на котором я написал программу, был Pascal. Первые программы были стандартными: "Hello World", сумма чисел с вводом из командной строки и т.д. Писали это в среде разработки Borland Turbo Pascal. Компьютеры были 486 с MS-DOS и 5-ти дюймовым дисководом. В компьютерном классе был главный крутой компьютер с Windows 95 и Pentium 1. Но на нем не довелось поработать, только посмотреть издалека на графический интерфейс.
Первую программу на Java я написал в начале 2006 года. Это было в среде разработки Intellij Idea. Первая книга по Java у меня была: "Как программировать на Java" Дейтел. Дейтел. Выглядела она примерно так: https://www.labirint.ru/books/221364/
Мои первый приложения были с UI на Swing. Всякие калькуляторы, потом написал настольную игру и даже мессенджер по типу аськи с клиентами на Swing и сервером.
Пишите в комментариях, как вы познакомились с программированием.
www.labirint.ru
Книга: Как программировать на Java. Файлы, сети, базы данных - Дейтел, Дейтел. Купить книгу, читать рецензии | Лабиринт
Книга: Как программировать на Java. Файлы, сети, базы данных (Java. How to program. Fifth edition).📙 Автор: Дейтел, Дейтел. Аннотация, 🔝 отзывы читателей, иллюстрации. Купить книгу по привлекательной цене среди миллиона книг "Лабиринта" | ISBN 978-5-9518…
👍20🔥5
Сверхпродуктивные джуны
В FAANG-компаниях это явление достаточно частое. Это программисты, которые только что закончили университет и попали в FAANG. До этого они зачастую проходили 1–2 стажировки в этих же компаниях.
Многие из них очень замотивированы, любят соревноваться с другими программистами — как отличники-перфекционисты среди студентов. У них нет какого-либо опыта вне FAANG. Они быстро адаптируются к корпоративной культуре и понимают, как работает система промоушенов. Многие из них уже через три года занимают позицию Senior.
Часто они производят огромное количество кода, который работает, но всё ещё выглядит как код джуна. Из-за его объёма такой код нередко не комментируется и просто апрувится — иначе на ревью ушло бы всё время.
Также их джуновость проявляется в принятии решений, построении долгосрочной архитектуры, понимании продукта в целом.
Такие "джуно-синьеры" часто находятся бок о бок с людьми, у которых 10+ лет опыта на той же должности. И зачастую выглядят выгоднее — они сверхоптимизированы под метрики и промоушены внутри конкретной компании.
В FAANG-компаниях это явление достаточно частое. Это программисты, которые только что закончили университет и попали в FAANG. До этого они зачастую проходили 1–2 стажировки в этих же компаниях.
Многие из них очень замотивированы, любят соревноваться с другими программистами — как отличники-перфекционисты среди студентов. У них нет какого-либо опыта вне FAANG. Они быстро адаптируются к корпоративной культуре и понимают, как работает система промоушенов. Многие из них уже через три года занимают позицию Senior.
Часто они производят огромное количество кода, который работает, но всё ещё выглядит как код джуна. Из-за его объёма такой код нередко не комментируется и просто апрувится — иначе на ревью ушло бы всё время.
Также их джуновость проявляется в принятии решений, построении долгосрочной архитектуры, понимании продукта в целом.
Такие "джуно-синьеры" часто находятся бок о бок с людьми, у которых 10+ лет опыта на той же должности. И зачастую выглядят выгоднее — они сверхоптимизированы под метрики и промоушены внутри конкретной компании.
👍28✍2🤔1
Начал спрашивать более редкие задачи и отличающиеся по условию от Leetcode
Решил зайти на leetcode, посмотрел на топовые задачи по популярности. Увидел в топ 30 задачи, которые я обычно спрашиваю. Нашел в нашей базе задачи, которые в топ 50-100 или нет в топе, а также условие на литкоде другое от того, что у нас в базе задач.
Первые наблюдения - процент прохождения снизился, но еще более снизился перфоманс. Те кто проходит - решают задачу дольше, итеративно, с большим числом ошибок. При этом сложность задач такая же или даже проще.
Т.е. это еще больше подтверждает гипотезу, что большинство просто воспроизводят задачи из памяти: https://t.me/faangmaster/570
Смотрите мой пост как запоминать задачи: https://t.me/faangmaster/571
Решил зайти на leetcode, посмотрел на топовые задачи по популярности. Увидел в топ 30 задачи, которые я обычно спрашиваю. Нашел в нашей базе задачи, которые в топ 50-100 или нет в топе, а также условие на литкоде другое от того, что у нас в базе задач.
Первые наблюдения - процент прохождения снизился, но еще более снизился перфоманс. Те кто проходит - решают задачу дольше, итеративно, с большим числом ошибок. При этом сложность задач такая же или даже проще.
Т.е. это еще больше подтверждает гипотезу, что большинство просто воспроизводят задачи из памяти: https://t.me/faangmaster/570
Смотрите мой пост как запоминать задачи: https://t.me/faangmaster/571
Telegram
FAANG Master
Как leetcode изменил coding собеседования в FAANG?
FAANG/BigTech компании используют алгоритмические задачи на coding-собеседованиях уже более 20-30 лет. Этот тренд был задан Microsoft в 90х годах. Потом его подхватили новые интернет-компании вроде Google…
FAANG/BigTech компании используют алгоритмические задачи на coding-собеседованиях уже более 20-30 лет. Этот тренд был задан Microsoft в 90х годах. Потом его подхватили новые интернет-компании вроде Google…
👍30🤔3
Сложности начала работы в FAANG с позиции Senior
Очень многие приходят в FAANG уже имея существенный опыт за плечами. Большинство из них приходят на позицию Senior.
Какие особенности, по сравнению с другими компаниями, вас ожидают:
1) Знание библиотек, фреймворков, технологий, тулов обнуляется. В других компаниях вы скорее всего работали с известными open source или коммерческими технологиями, тулами, библиотеками, фреймворками и т.д. За годы опыта вы стали в них экспертами. Но когда вы приходите в FAANG это становится не релевантно, т.к. тут все разработано внутри компании. Поэтому вам надо будет это изучать с нуля, и ваш опыт и знания других тулов на прямую не пригодится.
2) Domain knowledge в существенно проценте случаев обнуляется. Многие стремятся попасть в FAANG-компанию, а не в конкретную команду. Да и не всегда есть возможность выбирать. Я, например, когда пришел в Facebook - пришел в компанию. Команду я себе искал в первые 3 месяца работы. Но выбор только из тех команд, которые в вашей локации и нанимают сейчас людей вашего уровня. Сейчас это уже не так. Сейчас есть team matching до прихода в компанию, но он тоже не из всего. А только их тех команд, которые сейчас нанимают в вашей локации и человека вашего уровня. Поэтому большинство приходит в команды, не зная предметной области. Поэтому приходится изучать все с нуля.
3) Пройдет какое-то время, пока вы поймете принцип performance review и как работают промоушены. То, как работают промоушены в FAANG, может сильно отличаться от того, к чему вы привыкли. У вас уже выработался определенный стиль работы и привычки. Вам придется адаптироваться к новому стилю работу, подстраиваться под местный performance review.
4) Сильная конкуренция со стороны разрабов, кто в FAANG с самого начала карьеры. Многие ваши сильные стороны и годы опыта обнуляются (domain knowledge, знание технологий). У вас другие привычки и стиль работы. А те, кто пришел в FAANG с универа, нигде больше не работал, очень хорошо адаптированы под промоушены (там есть требования по первым 1-2 промоушенам). Знают хорошо местный стек технологий, тематику и что важно и что не важно для хорошего performance review и для промоушена. Промоушен Senior->Staff сам по себе не простой, но все эти факторы, что я перечислил делают его еще сложнее для людей, кто пришел на позицию Senior не из FAANG имея 10+ лет опыта за плечами.
Очень многие приходят в FAANG уже имея существенный опыт за плечами. Большинство из них приходят на позицию Senior.
Какие особенности, по сравнению с другими компаниями, вас ожидают:
1) Знание библиотек, фреймворков, технологий, тулов обнуляется. В других компаниях вы скорее всего работали с известными open source или коммерческими технологиями, тулами, библиотеками, фреймворками и т.д. За годы опыта вы стали в них экспертами. Но когда вы приходите в FAANG это становится не релевантно, т.к. тут все разработано внутри компании. Поэтому вам надо будет это изучать с нуля, и ваш опыт и знания других тулов на прямую не пригодится.
2) Domain knowledge в существенно проценте случаев обнуляется. Многие стремятся попасть в FAANG-компанию, а не в конкретную команду. Да и не всегда есть возможность выбирать. Я, например, когда пришел в Facebook - пришел в компанию. Команду я себе искал в первые 3 месяца работы. Но выбор только из тех команд, которые в вашей локации и нанимают сейчас людей вашего уровня. Сейчас это уже не так. Сейчас есть team matching до прихода в компанию, но он тоже не из всего. А только их тех команд, которые сейчас нанимают в вашей локации и человека вашего уровня. Поэтому большинство приходит в команды, не зная предметной области. Поэтому приходится изучать все с нуля.
3) Пройдет какое-то время, пока вы поймете принцип performance review и как работают промоушены. То, как работают промоушены в FAANG, может сильно отличаться от того, к чему вы привыкли. У вас уже выработался определенный стиль работы и привычки. Вам придется адаптироваться к новому стилю работу, подстраиваться под местный performance review.
4) Сильная конкуренция со стороны разрабов, кто в FAANG с самого начала карьеры. Многие ваши сильные стороны и годы опыта обнуляются (domain knowledge, знание технологий). У вас другие привычки и стиль работы. А те, кто пришел в FAANG с универа, нигде больше не работал, очень хорошо адаптированы под промоушены (там есть требования по первым 1-2 промоушенам). Знают хорошо местный стек технологий, тематику и что важно и что не важно для хорошего performance review и для промоушена. Промоушен Senior->Staff сам по себе не простой, но все эти факторы, что я перечислил делают его еще сложнее для людей, кто пришел на позицию Senior не из FAANG имея 10+ лет опыта за плечами.
👍27✍1
Собеседовал кандидата, который меня пытался впечатлить знанием C++
Кандидат очень опытный, опыта больше чем у меня. Во время решения задач больше внимания уделял тому, как можно напихать больше крутых фич из C++ в решение задачи. Отвлекался на все подряд и постоянно отходил от основной цели - придумать алгоритм и его написать. В итоге не смог решить ни одну задачу. При написании кода глубоко уходил во второстепенные вещи и не смог никак продвинуться.
На таких собеседованиях не проверяется знание всех прикольных фич в языке. Проверяется, в первую очередь, способность конвертировать идеи в работающий код. Этого не произошло. Дальше простейшего цикла человек не продвинулся.
Кандидат очень опытный, опыта больше чем у меня. Во время решения задач больше внимания уделял тому, как можно напихать больше крутых фич из C++ в решение задачи. Отвлекался на все подряд и постоянно отходил от основной цели - придумать алгоритм и его написать. В итоге не смог решить ни одну задачу. При написании кода глубоко уходил во второстепенные вещи и не смог никак продвинуться.
На таких собеседованиях не проверяется знание всех прикольных фич в языке. Проверяется, в первую очередь, способность конвертировать идеи в работающий код. Этого не произошло. Дальше простейшего цикла человек не продвинулся.
😢34😁17👍5
Почему сотрудники Google и Meta получают на порядок больше, чем в Amazon?
Если зайти на https://www.levels.fyi/?compare=Google,Amazon,Facebook&track=Software%20Engineer
то складывается впечатление, что разница между Amazon и Google/Meta для одного и того же уровня небольшая.
Но дело в том, что это стартовые оферы, которые вы получаете при найме на работу. Дальше Google и Meta каждый год дает своим сотрудникам refreshers. Это дополнительные акции, которые рассчитаны на 4 года с момента получения.
Например, ваш изначальные офер был: base: $216k, bonus: $32k, RSU на 4 года: $880k.
Дальше после первого года работы вам дадут еще $200k * performance. Например, ваш перфоманс был EE (exceed expectation). Тогда вы получите еще $200k * 1.25 = $250k на следующие 4 года к уже имеющимся $880k. Т.е. у вас уже будет $880k+$250K.
Аналогично после второго, третьего и т.д. года работы.
Итого за 4 года только акций вы получите: $880k + $250k * (3/4) + $250 * (2/4) + $250k * (1/4) = $1.255M если акции за 4 года не изменяются в цене. Обычно они еще растут в 2-4 раза за 4 года. Итого, можно получить очень много денег. В Amazon или Microsoft рефрешеры несравнимо хуже, чем в Google или Meta.
Например, в моем случае, мой изначальный офер был $360k акций на 4 года. По факту, я получил $1.2M за 4 года в виде только акций (не считая зп и бонусы). Одна из причин - рост акций после получения рефрешера в начале 2023 года.
Если зайти на https://www.levels.fyi/?compare=Google,Amazon,Facebook&track=Software%20Engineer
то складывается впечатление, что разница между Amazon и Google/Meta для одного и того же уровня небольшая.
Но дело в том, что это стартовые оферы, которые вы получаете при найме на работу. Дальше Google и Meta каждый год дает своим сотрудникам refreshers. Это дополнительные акции, которые рассчитаны на 4 года с момента получения.
Например, ваш изначальные офер был: base: $216k, bonus: $32k, RSU на 4 года: $880k.
Дальше после первого года работы вам дадут еще $200k * performance. Например, ваш перфоманс был EE (exceed expectation). Тогда вы получите еще $200k * 1.25 = $250k на следующие 4 года к уже имеющимся $880k. Т.е. у вас уже будет $880k+$250K.
Аналогично после второго, третьего и т.д. года работы.
Итого за 4 года только акций вы получите: $880k + $250k * (3/4) + $250 * (2/4) + $250k * (1/4) = $1.255M если акции за 4 года не изменяются в цене. Обычно они еще растут в 2-4 раза за 4 года. Итого, можно получить очень много денег. В Amazon или Microsoft рефрешеры несравнимо хуже, чем в Google или Meta.
Например, в моем случае, мой изначальный офер был $360k акций на 4 года. По факту, я получил $1.2M за 4 года в виде только акций (не считая зп и бонусы). Одна из причин - рост акций после получения рефрешера в начале 2023 года.
Levels.fyi
Levels.fyi | Salaries & Tools to Level Up Your Career
Search 300k+ salaries for different companies, job titles, career levels, and locations. Explore our tools to help you get paid more!
✍10👍8
This media is not supported in your browser
VIEW IN TELEGRAM
Пингвины из-за тарифов вынуждены искать новую работу.
😁20🙈1🙊1
Кандидат решил оптимально все задачи, но я его зареджектил
Кандидат собеседовался на позицию ML. Обе задачи решил оптимальным способом, код также был оптимальным. Правильно назвал space и time complexity. Тем не менее я его зареджектил.
На этапе тестирования, он был очень поверхностным, не нашел несколько опечаток. Также называл какие-то бессмысленные тест кейсы, а нужные не проверял.
На прямые уточняющие вопросы отвечал что-то вообще мало связанное с моим вопросом.
Отреджектил по verification и communication. Закралось подозрение, что он или читерил или плохо представляет, что такое тестирование. Также подозрительным был communication. После написания кода он мог его обьяснить, но до не мог ответить на уточняющие вопросы по решению. Хотя он сразу начал писать оптимальное решение.
Кандидат собеседовался на позицию ML. Обе задачи решил оптимальным способом, код также был оптимальным. Правильно назвал space и time complexity. Тем не менее я его зареджектил.
На этапе тестирования, он был очень поверхностным, не нашел несколько опечаток. Также называл какие-то бессмысленные тест кейсы, а нужные не проверял.
На прямые уточняющие вопросы отвечал что-то вообще мало связанное с моим вопросом.
Отреджектил по verification и communication. Закралось подозрение, что он или читерил или плохо представляет, что такое тестирование. Также подозрительным был communication. После написания кода он мог его обьяснить, но до не мог ответить на уточняющие вопросы по решению. Хотя он сразу начал писать оптимальное решение.
🔥21
The Woodpecker Method
Этот метод был предложен шахматистом. По его утверждению, этот метод помог ему стать гроссмейстером в шахматах.
Метод похож на тот, который использовал я для подготовки к алгосам: https://t.me/faangmaster/571
Он также предлагает периодическое повторение уже решенных задач, вместо постоянного решения новых. И каждое новое повторение происходит быстрее и быстрее, в течении все более короткого времени.
Т.е. вместо постоянного решения случайных задач на литкоде(например, дейликов), лучше периодически повторять одну и ту же репрезантативную выборку задач.
https://youtu.be/O1keZYdPgD0?si=PdxBLt6LRryvCud-
Этот метод был предложен шахматистом. По его утверждению, этот метод помог ему стать гроссмейстером в шахматах.
Метод похож на тот, который использовал я для подготовки к алгосам: https://t.me/faangmaster/571
Он также предлагает периодическое повторение уже решенных задач, вместо постоянного решения новых. И каждое новое повторение происходит быстрее и быстрее, в течении все более короткого времени.
Т.е. вместо постоянного решения случайных задач на литкоде(например, дейликов), лучше периодически повторять одну и ту же репрезантативную выборку задач.
https://youtu.be/O1keZYdPgD0?si=PdxBLt6LRryvCud-
👍28🤔3
On the Biology of a Large Language Model
Ученые из компании Anthropic (которая делает Claude) периодически публикуют работы, которые исследуют то, как LLM думают, рассуждают, как можно сделать их безопасными.
Очередная интересная работа: On the Biology of a Large Language Model. Они использовали новый метод - Attribution Graphs. Он позволяет более понятно и наглядно показать, как в реальности LLM приходит к ответу на запрос.
Например, для запроса: Fact: the capital of the state containing Dallas is
В LLM активируется кластера фич, которые отвечают за каждое отдельное слово: capital, state, Dallas.
Далее capital и state активируют фичу "say capital", которая активируется, когда нейросеть хочет предсказать столицу. Фича Dallas активирует фичу Texas. И наконец фича "say capital", Dallas, Texas активируют фичу "say Austin", которая предсказывает Austin следующим словом.
Аналогично, нейросеть работает при сложении. Она не размышляет в виде формальных логических законов арифметики. А также работает ассоциативно (интуитивно). Но если ее попросить объяснить, как нейросеть додумалась до ответа - она ответит совсем другое! Она ответит то, что мы хотим услышать, а не то, как она в реальности дошла до ответа. Про это есть отельное исследование, где исследуется CoT (chain of thought). Это когда модель проводит рассуждения. И оказывается, что то, что она выводит в качестве рассуждения - это не совсем то, как она в действительности рассуждает внутри.
Видео в тему статьи:
https://www.youtube.com/watch?v=-wzOetb-D3w
https://youtu.be/mU3g2YPKlsA?si=acOhiF5o19DChonN
Ученые из компании Anthropic (которая делает Claude) периодически публикуют работы, которые исследуют то, как LLM думают, рассуждают, как можно сделать их безопасными.
Очередная интересная работа: On the Biology of a Large Language Model. Они использовали новый метод - Attribution Graphs. Он позволяет более понятно и наглядно показать, как в реальности LLM приходит к ответу на запрос.
Например, для запроса: Fact: the capital of the state containing Dallas is
В LLM активируется кластера фич, которые отвечают за каждое отдельное слово: capital, state, Dallas.
Далее capital и state активируют фичу "say capital", которая активируется, когда нейросеть хочет предсказать столицу. Фича Dallas активирует фичу Texas. И наконец фича "say capital", Dallas, Texas активируют фичу "say Austin", которая предсказывает Austin следующим словом.
Аналогично, нейросеть работает при сложении. Она не размышляет в виде формальных логических законов арифметики. А также работает ассоциативно (интуитивно). Но если ее попросить объяснить, как нейросеть додумалась до ответа - она ответит совсем другое! Она ответит то, что мы хотим услышать, а не то, как она в реальности дошла до ответа. Про это есть отельное исследование, где исследуется CoT (chain of thought). Это когда модель проводит рассуждения. И оказывается, что то, что она выводит в качестве рассуждения - это не совсем то, как она в действительности рассуждает внутри.
Видео в тему статьи:
https://www.youtube.com/watch?v=-wzOetb-D3w
https://youtu.be/mU3g2YPKlsA?si=acOhiF5o19DChonN
👍10😁3❤1🙉1
FAANG Master
The Woodpecker Method Этот метод был предложен шахматистом. По его утверждению, этот метод помог ему стать гроссмейстером в шахматах. Метод похож на тот, который использовал я для подготовки к алгосам: https://t.me/faangmaster/571 Он также предлагает периодическое…
Вообще, я понял, что неявно использовал этот подход много раз. В нём, вероятно, нет ничего нового — многие его применяют. Впервые это произошло во время подготовки к экзаменам после 9 класса. Так я учил билеты к устным экзаменам. Сначала запоминал каждый отдельно — это было долго и медленно. Для запоминания и проверки я воспроизводил материал вслух. Затем повторял сразу много билетов методом воспроизведения и сравнения с оригиналом, исправляя ошибки или дополняя то, что забыл. Так я делал примерно три раза. На третий раз воспроизведение стало быстрым, точным и лёгким. Все экзамены я сдал на отлично.
Второй раз это было летом, после 9-го класса. Я тогда поступил в специализированный Лицей, с уклоном в физику. На лето нам задали ~100 задач по физике из очень хорошего задачника среднего уровня. Что в нем было хорошего - в нем были подробные решения типовых задач. Это его роднит с книгой Cracking The Coding Interview. Мне никто не говорил как их решать, какой метод использовать. Я просто интуитивно применил ~тот же подход, только к задачам. Вначале разобрался с решениями этих 100 задач. Было долго и медленно. Потом повторил их уже с минимальными подсказками второй раз. А потом и третий раз. Как только мы пришли с каникул, в первые же дни нам провели калибровочную контрольную. По ее результатам я был второй в классе. Хотя до этого мой потолок был - районная олимпиада по физике. А в классе были призеры области и участники заключительного этапа. Меня сразу определили в сильную подгруппу и узкий круг тех, кого готовили на олимпиаду по физике. В тот же год я занял 3е место в своей области по физике. На следующий год я прошел на заключительный этап. В сборную страны я не претендовал, но я относительно поздно начал (всего 1.5 года подготовки в сумме).
Далее так же я готовился к вступительным в топовый вуз страны. Тогда не было ЕГЭ и вступительные экзамены были сложными. Про физику я не переживал, а вот математику пришлось быстро и сильно прокачивать. Я применил аналогичный метод. Я отксерил вступительные задачи и их решения из журнала Квант за последние 10-15 лет. И применил тот же подход из 3 повторений. В итоге я поступил в топовый вуз. Аналогичным образом я сдавал экзамены.
И наконец, когда я передумал быть физиком и стал программистом и в какой-то момент решил попасть в FAANG, то не зная ничего лучше - применил тот же подход уже далеко не в школьном или студенческом возрасте. И это сработало.
Я не говорю, что это единственный, оптимальный или применимый для всех метод. Но для меня он работал. Как минимум он хорошо подходит для обучения нейросети у меня в голове.
Второй раз это было летом, после 9-го класса. Я тогда поступил в специализированный Лицей, с уклоном в физику. На лето нам задали ~100 задач по физике из очень хорошего задачника среднего уровня. Что в нем было хорошего - в нем были подробные решения типовых задач. Это его роднит с книгой Cracking The Coding Interview. Мне никто не говорил как их решать, какой метод использовать. Я просто интуитивно применил ~тот же подход, только к задачам. Вначале разобрался с решениями этих 100 задач. Было долго и медленно. Потом повторил их уже с минимальными подсказками второй раз. А потом и третий раз. Как только мы пришли с каникул, в первые же дни нам провели калибровочную контрольную. По ее результатам я был второй в классе. Хотя до этого мой потолок был - районная олимпиада по физике. А в классе были призеры области и участники заключительного этапа. Меня сразу определили в сильную подгруппу и узкий круг тех, кого готовили на олимпиаду по физике. В тот же год я занял 3е место в своей области по физике. На следующий год я прошел на заключительный этап. В сборную страны я не претендовал, но я относительно поздно начал (всего 1.5 года подготовки в сумме).
Далее так же я готовился к вступительным в топовый вуз страны. Тогда не было ЕГЭ и вступительные экзамены были сложными. Про физику я не переживал, а вот математику пришлось быстро и сильно прокачивать. Я применил аналогичный метод. Я отксерил вступительные задачи и их решения из журнала Квант за последние 10-15 лет. И применил тот же подход из 3 повторений. В итоге я поступил в топовый вуз. Аналогичным образом я сдавал экзамены.
И наконец, когда я передумал быть физиком и стал программистом и в какой-то момент решил попасть в FAANG, то не зная ничего лучше - применил тот же подход уже далеко не в школьном или студенческом возрасте. И это сработало.
Я не говорю, что это единственный, оптимальный или применимый для всех метод. Но для меня он работал. Как минимум он хорошо подходит для обучения нейросети у меня в голове.
🔥32👍4