Как стать автором
Обновить
-1
0
Максим @thundersen48

Изучаю python, машинное обучение и алгоритмы

Отправить сообщение

Как мы готовим RL для Alignment в больших языковых моделях: опыт команды YandexGPT

Время на прочтение28 мин
Количество просмотров13K

Сегодня через API стала доступна новая модель YandexGPT 3 Lite. Одним из ключевых этапов её обучения, как и в случае с другими недавними моделями, стал этап выравнивания (Alignment), включающий в том числе стадию обучения с подкреплением (RL). Пожалуй, без этого этапа мы бы не смогли добиться такого роста в качестве, который был необходим для запуска новых возможностей и сервисов (например, Нейро). Поэтому эту статью мы полностью посвятим особенностям выравнивания моделей. 

На тему Alignment и RL было написано уже немало статей. Кажется, любой ML-инженер уже, так или иначе, сталкивался или читал о них. Поэтому мы хоть и напомним базовую информацию, но всё же сфокусируемся на тех деталях реализации, которые не на слуху. 

Читать далее
Всего голосов 43: ↑43 и ↓0+60
Комментарии10

Транзакция, ACID, CAP теорема и уровни изоляций транзакций простыми словами

Уровень сложностиПростой
Время на прочтение5 мин
Количество просмотров18K

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

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

Читать далее
Всего голосов 45: ↑39 и ↓6+37
Комментарии13

URI — сложно о простом (Часть 1)

Время на прочтение12 мин
Количество просмотров305K
image

Привет хабр!

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

"Пфф, ссылки они и в Африке ссылки, чего тут разбираться?" — скажете вы, тогда я задам вопрос:

Что есть что и куда нас приведет?
  • http://example.com
  • www.example.com
  • //www.example.com
  • mailto:user@example.com

Если вы не знаете однозначного ответа или вам просто интересно и если вы не боитесь огромного количества трехбуквенных аббревиатур — милости прошу под кат.
Читать дальше →
Всего голосов 80: ↑77 и ↓3+74
Комментарии47

Как инженеры GitHub используют GitHub Copilot: 4 способа

Время на прочтение4 мин
Количество просмотров4.5K


Узнаем, как GitHub Copilot повышает эффективность работы инженеров из GitHub, позволяя автоматизировать повторяющиеся задачи, сохранять концентрацию и многое другое.
Читать дальше →
Всего голосов 15: ↑11 и ↓4+11
Комментарии1

Дерево решений (CART). От теоретических основ до продвинутых техник и реализации с нуля на Python

Уровень сложностиСложный
Время на прочтение22 мин
Количество просмотров9.9K

Дерево решений CART (Classification and Regressoin Tree) — алгоритм классификации и регрессии, основанный на бинарном дереве и являющийся фундаментальным компонентом случайного леса и бустингов, которые входят в число самых мощных алгоритмов машинного обучения на сегодняшний день. Деревья также могут быть не бинарными в зависимости от реализации. К другим популярным реализациям решающего дерева относятся следующие: ID3, C4.5, C5.0.

Читать далее
Всего голосов 9: ↑9 и ↓0+9
Комментарии0

Популярные алгоритмы машинного обучения. Теоретические основы и реализация с нуля на Python

Уровень сложностиСложный
Время на прочтение1 мин
Количество просмотров37K

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

Читать далее
Всего голосов 22: ↑22 и ↓0+22
Комментарии21

Вычисление определённых интегралов: базовые алгоритмы

Время на прочтение13 мин
Количество просмотров98K

image
В этой публикации описаны простейшие методы вычисления интегралов функций от одной переменной на отрезке, также называемые квадратурными формулами. Обычно эти методы реализованы в стандартных математических библиотеках, таких как GNU Scientific Library для C, SciPy для Python и других. Публикация имеет целью продемонстрировать, как эти методы работают "под капотом", и обратить внимание на некоторые вопросы точности и производительности алгоритмов. Также хотелось бы отметить связь квадратурных формул и методов численного интегрирования обыкновенных дифференциальных уравнений, о которых хочу написать ещё одну публикацию.

Читать дальше →
Всего голосов 35: ↑34 и ↓1+33
Комментарии39

Как увеличить скорость принятия решений в компании за счет внедрения исследований без бюджета

Уровень сложностиПростой
Время на прочтение5 мин
Количество просмотров1.9K

В команде продукта не проводят исследования и действуют «по ощущениям»? Не понятно как создавать продукты, которые соответствовали бы ожиданиям клиентов или превышали их? Как встроить исследования в регулярные процессы своими силами, не нанимая новых сотрудников и без большого бюджета?

В кейсе вы найдете ответы на все эти вопросы!

Читать далее
Всего голосов 12: ↑9 и ↓3+7
Комментарии8

Это мы юзаем: библиотека Optuna в Python для оптимизации гиперпараметров

Уровень сложностиСредний
Время на прочтение7 мин
Количество просмотров8.7K

Привет, Хабр!

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

Традиционный подход к оптимизации гиперпараметров включает в себя grid search и random search, иногда они могут быть неэффективными и времязатратными, особенно когда пространство гиперпараметров велико.

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

Optuna решает проблему оптимизации гиперпараметров, предоставляя легковесный фреймворк для автоматизации поиска оптимальных гиперпараметров. Она использует алгоритмы, такие как TPE, CMA-ES, и даже поддерживает пользовательские алгоритмы.

Optuna полностью написана на Python и имеет мало зависимостей. В этой статье рассмотрим её основной функционал.

Читать далее
Всего голосов 16: ↑15 и ↓1+19
Комментарии2

Именованные кортежи. Пишем код на Python чище

Время на прочтение6 мин
Количество просмотров124K

В стандартной библиотеке питона содержится специализированный тип "namedtuple", который, кажется, не получает того внимания, которое он заслуживает. Это одна из прекрасных фич в питоне, которая скрыта с первого взгляда.



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

Читать дальше →
Всего голосов 19: ↑17 и ↓2+15
Комментарии13

Линейный дискриминантный анализ (LDA). Принцип работы и реализация с нуля на Python

Уровень сложностиСложный
Время на прочтение7 мин
Количество просмотров9.6K

Линейный дискриминантный анализ (Linear Discriminant Analysis или LDA) — алгоритм классификации и понижения размерности, позволяющий производить разделение классов наилучшим образом. Основная идея LDA заключается в предположении о многомерном нормальном распределении признаков внутри классов и поиске их линейного преобразования, которое максимизирует межклассовую дисперсию и минимизирует внутриклассовую. Другими словами, объекты разных классов должны иметь нормальное распределение и располагаться как можно дальше друг от друга, а одного класса — как можно ближе.

Читать далее
Всего голосов 8: ↑8 и ↓0+8
Комментарии0

А/Б тестирование на маленьких выборках. Построение собственного критерия

Время на прочтение8 мин
Количество просмотров9.1K

Хабр, привет! Сегодня рассмотрим кейс, в котором классические статистические критерии не работают, и разберёмся, почему так происходит. Научимся строить свои собственные критерии по историческим данным. Обсудим плюсы и минусы такого подхода.

Читать далее
Всего голосов 14: ↑14 и ↓0+14
Комментарии4

От логарифмической линейки до AutoCad: развитие инструментов инженера-конструктора

Уровень сложностиСредний
Время на прочтение11 мин
Количество просмотров5.7K

Мы снисходительно относимся к такому инструменту, как логарифмическая линейка. Однако она верой и правдой служила инженерам и конструкторам в течение долгого времени. С помощью этой самой линейки были созданы Ту-104 и первые космические ракеты. Но сейчас разработки таких масштабов нельзя представить без помощи компьютера. 

В этой статье для блога ЛАНИТ я попытаюсь представить ретроспективу развития вычислительных приборов.

Читать далее
Всего голосов 42: ↑39 и ↓3+44
Комментарии25

Hello, TensorFlow. Библиотека машинного обучения от Google

Время на прочтение11 мин
Количество просмотров229K

tensorflow


Проект TensorFlow масштабнее, чем вам может показаться. Тот факт, что это библиотека для глубинного обучения, и его связь с Гуглом помогли проекту TensorFlow привлечь много внимания. Но если забыть про ажиотаж, некоторые его уникальные детали заслуживают более глубокого изучения:


  • Основная библиотека подходит для широкого семейства техник машинного обучения, а не только для глубинного обучения.
  • Линейная алгебра и другие внутренности хорошо видны снаружи.
  • В дополнение к основной функциональности машинного обучения, TensorFlow также включает собственную систему логирования, собственный интерактивный визуализатор логов и даже мощную архитектуру по доставке данных.
  • Модель исполнения TensorFlow отличается от scikit-learn языка Python и от большинства инструментов в R.

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


Как работает TensorFlow? Давайте попробуем разобраться, посмотреть и понять, как работает каждая часть. Мы изучим граф движения данных, который определяет вычисления, через которые предстоит пройти вашим данным, поймем, как тренировать модели градиентным спуском с помощью TensorFlow, и как TensorBoard визуализирует работу с TensorFlow. Наши примеры не помогут решать настоящие проблемы машинного обучения промышленного уровня, но они помогут понять компоненты, которые лежат в основе всего, что создано на TensorFlow, в том числе того, что вы напишите в будущем!

Читать дальше →
Всего голосов 71: ↑68 и ↓3+65
Комментарии12

Как использовать ChatGPT для разработки и учебы. Четыре сценария

Уровень сложностиПростой
Время на прочтение4 мин
Количество просмотров14K

Привет, Хабр! В 2023 году искусственный интеллект (далее ИИ)  вышел на тот уровень популярности, когда о нем не говорил только ленивый. Все больше компаний активно начали обсуждать свои разработки в этой области, а такие модели как Midjourney, ChatGPT, Gemini (ex-Bard), Bixby и другие стали общедоступными.

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

Читать далее
Всего голосов 10: ↑7 и ↓3+6
Комментарии0

Класс коннектор для Диадок API на Python

Время на прочтение5 мин
Количество просмотров2.1K

Решил поделиться своим опытом как я собирался сделать сервис управлением ЭДО провайдерами по правилам SOLID.

Для начала я решил составить архитектуру сервиса, решил что класс управления api должен включать в себя http клиент как зависимость, так как не все могут захотеть использовать requests для выполнения запросов, еще это даст возможность переехать на асинхронную версию. Изучив документацию системы Диадок, я узнал что запросы можно выполнять как в JSON формате так и используя RPC модели. Поэтому я назвал класс DiadocJSONClient и он использует библиотеку requests для http запросов.

Читать далее
Всего голосов 3: ↑3 и ↓0+3
Комментарии4

Ввод в нейроэстетику для дизайнеров. Часть 0

Уровень сложностиПростой
Время на прочтение5 мин
Количество просмотров1.3K

Какова природа эстетического опыта и как дизайнеру запрячь науку в работу?

В 1999 году в журнале Journal of Consciousness Studies вышла одна примечательная работа под названием «The Science of Art A Neurological Theory of Aesthetic Experience» (сурс)

В ней описывается 7 механизмов, посредством которых мы воспринимаем искусство и как это восприятие отражается на нашем организме.

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

Читать далее
Всего голосов 5: ↑2 и ↓3+1
Комментарии3

Гайд по публичным выступлениям для программистов

Время на прочтение8 мин
Количество просмотров5.3K

«У вас отличные технические скиллы, но вам нужно улучшить навыки общения». — Ваш менеджер.

По мнению разработчика ПО Джордана Катлера*, такая обратная связь может фрустрировать программиста. Почему? Вероятно потому, что тот всегда был уверен: в своей должности ему достаточно «общаться» с помощью кода. Но нет. Зачастую концентрация только на коде ограничивает потенциал развития и продвижения по службе.

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

— Наиболее важные нюансы языка тела, формулировок и тональности;

— Создание структуры презентации, которая заставит людей вас слушать.

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

*Обращаем ваше внимание, что позиция автора может не всегда совпадать с мнением МойОфис.

Читать далее
Всего голосов 21: ↑19 и ↓2+21
Комментарии5

Obsidian. Путь от простой структуры к сложной и обратно. Часть 2

Уровень сложностиСредний
Время на прочтение9 мин
Количество просмотров19K

Первая часть статьи описывает возростание сложности системы, за счёт постоянного увеличения сбора метрик, задач и конечно же используемых плагинов

Закончилось это всё не очень хорошо, так заполнение "ежедневной рутины" усложнилось настолько, что заполнять её уже не хотелось. Поэтому критической задачей стало упрощение (идём обратно) в местах где сложность излишняя и автоматизация в местах, где есть лишние 2-3 клика.

Попробуем теперь всё упросить...

P.S. Как у любого новоиспечённого автора, у меня после написания первой статьи появился тг-канал. Милости прошу. Там пишу чаще, проще и более свободно. Формат статьи всё-таки сдерживает в каких-то рамках повествования.

Читать далее
Всего голосов 3: ↑2 и ↓1+2
Комментарии5

Как расширить возможности стандартного Enum

Уровень сложностиПростой
Время на прочтение5 мин
Количество просмотров13K

А может всё-таки есть способ сделать такой Enum, используя стандартную библиотеку Python?!

Под катом будем разбираться в существующих вариантах решения. 

Читать далее
Всего голосов 16: ↑14 и ↓2+14
Комментарии10

Информация

В рейтинге
Не участвует
Откуда
Москва, Москва и Московская обл., Россия
Дата рождения
Зарегистрирован
Активность