Библиотека дата-сайентиста | Data Science, Machine learning, анализ данных, машинное обучение
18.8K subscribers
2.23K photos
111 videos
64 files
4.64K links
Все самое полезное для дата сайентиста в одном канале.

По рекламе: @proglib_adv

Курс по ML: https://clc.to/4hNluQ

Для обратной связи: @proglibrary_feeedback_bot

РКН: https://gosuslugi.ru/snet/67a5b03124c8ba6dcaa121c9
加入频道
✍️ Полезные слайды про обучение LLM на синтетических данных

Это презентация исследователей из Google DeepMind. Они рассказывают о том, как использовать подход ReST-EM, то есть самообучение модели на сгенерированных данных, и как это влияет на способности LLM к рассуждению.

Слайды информативные и интересные. Смотреть здесь 👈
👍5
Forwarded from Библиотека программиста | программирование, кодинг, разработка
😮 SQL: от Тетриса до ИИ — неожиданные возможности языка баз данных

Долгое время SQL использовали лишь для запросов и изменения записей в базах данных — для полноценного программирования в привычном смысле слова он не подходил. Однако добавление рекурсивных общих табличных выражений (CTE) сделало SQL полным по Тьюрингу. Рекурсивные CTE состоят из двух частей:

• Нерекурсивная часть (базовый случай) — создает начальные данные.
• Рекурсивная часть — может выполняться много раз, каждый раз используя результат предыдущего шага.

Благодаря CTE на SQL можно при желании реализовать любой алгоритм. Энтузиасты уже сделали:

Визуализацию множества Мандельброта с помощью ASCII-графики.
3D-движок для рисования объемных фигур.
GPT на 500 строках SQL-кода. Подробная статья о реализации этого проекта опубликована здесь.
Трассировку лучей (это метод создания реалистичных изображений).

На прошлой неделе коллекция крутых SQL-проектов пополнилась еще одной интересной разработкой — версией «Тетриса».

Эта реализация демонстрирует несколько нестандартных SQL-техник, о которых стоит знать, даже если вы используете SQL только по прямому назначению:

Игровой цикл. В основе игры – рекурсивное общее табличное выражение (CTE). Оно создает бесконечный цикл, который инициализирует состояние игры, обновляет его на основе ввода пользователя и отрисовывает игру. Цикл продолжается, пока игра не закончится.
Вывод игры. Поскольку SQL-запрос обычно возвращает результат только после завершения, для отображения игры в реальном времени используется команда RAISE NOTICE. Эта команда выводит информацию в стандартный вывод, позволяя отображать игровое поле и другую информацию в процессе игры.
Пользовательский ввод. Обработка пользовательского ввода реализована через отдельную таблицу в базе данных. Эта таблица служит коммуникационной шиной между игрой и пользователем. Пользователь добавляет команды в эту таблицу, а игра их считывает.
Решение проблемы изоляции данных. Чтобы игра могла видеть новые команды, добавленные в таблицу ввода во время выполнения запроса, используется расширение dblink. Оно позволяет создавать новое подключение к базе данных с новым снимком данных, что дает возможность считывать самые последние команды пользователя.
Предотвращение кэширования. Чтобы PostgreSQL не кэшировал результаты запроса к таблице ввода, к запросу добавляется уникальный идентификатор итерации. Это заставляет базу данных выполнять запрос заново на каждой итерации игрового цикла.

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

• Подзапросы позволяют вычислить новое состояние игры после каждого хода, включая позицию фигуры, состояние поля, счет и т. д. К примеру, рекурсивный подзапрос используется для вычисления максимального количества линий, на которые может упасть текущая фигура.
• Агрегации применяются для подсчета очищенных линий, выбора фигуры с наименьшим рангом, обновления счета и уровня игры. Например, BOOL_OR() применяется для определения, есть ли хотя бы одно столкновение между фигурой и занятыми клетками на поле.

🔗 Подробнее читайте в статье
🔗 Зеркало
1👏41
🆕 Подборка новинок: Грокаем всё — безопасность, алгоритмы и конкурентность

🔵 Грокаем конкурентность

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

🔵 Грокаем алгоритмы. 2е издание

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

🤫 Грокаем безопасность безопасность веб-приложений

Готовьтесь к взлому... но на стороне защиты. Скоро выходит новая книга, которая станет вашим главным союзником в мире веб-безопасности. Автор — Малколм Макдональд — делится уникальными советами и реальными примерами, которые помогут понять, как думают хакеры и как эффективно защитить свои проекты.

🛍 Промокод на скидку в 25%: proglib
Please open Telegram to view this post
VIEW IN TELEGRAM
1👍4😁2
Привет, друзья! 👋

Мы готовим статью о распространённых ошибках в карьере программиста и хотели бы услышать ваше мнение! Поделитесь своими мыслями и опытом, и самые полезные советы мы включим в нашу статью. Вот несколько вопросов для вас:

🤔 С какими ошибками в своей карьере программиста вы сталкивались? Как вы их преодолели?
📚 Какие советы вы бы дали начинающим разработчикам, чтобы избежать распространенных ловушек в программировании?
🖥️ Что, по вашему мнению, важно учитывать при планировании своей карьеры в IT, чтобы минимизировать сожаления в будущем?

Спасибо за ваше участие! 🚀
🎨 Как сделать генератор ASCII-графики на Python

Энтузиасты делают ASCII-ремейки «Звездных войн» и ролевые ASCII-игры. А мы напишем GUI-приложение для конвертации изображений в олдскульную ASCII-графику с помощью Python и библиотеки Pillow.

👉 Читать подробное руководство
4😁2
📖 Обзор книги «Грокаем конкурентность», Кирилл Бобров

Направление: #proglib_concurrency
Уровень: #proglib_middle

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

💬 Что говорят люди:

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

Плюсы:

- Вместо теоретических рассуждений автор использует понятные задачи и объясняет их реализацию на Python, что помогает сразу применять полученные знания на практике​.
- Книга избавлена от заумных научных терминов, что делает её лёгкой для чтения и подходит даже тем, кто не имеет серьёзной подготовки в теории конкурентности​.
- Структура книги позволяет плавно перейти от основ к более сложным темам.

Минусы:

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

🖊 Об авторе:

Кирилл Бобров — разработчик с многолетним опытом, известен своими трудами по программированию и своим простым, доступным стилем изложения сложных тем.

Скидка 25% по промокоду: proglib

Купить книгу
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3
🧠 Что такое перплексия в NLP

Перплексия измеряет, насколько хорошо вероятностная модель предсказывает тестовые данные. Хорошая языковая модель будет присваивать высокую вероятность реальным предложениям и, следовательно, иметь низкую перплексию.

✍️ Формально перплексия может быть выражена через общую вероятность последовательности P(W)^(-1/N), где P(W) — совместная вероятность последовательности слов.

💡 Пример

Предположим, у нас есть модель, которая присваивает последовательности из 5 слов вероятность P(W) = 0.002 . Тогда перплексия будет равна примерно 3.5.

Стоит отметить, что низкая перплексия не гарантирует, что модель будет генерировать осмысленные или грамматически правильные предложения.
1👏72
🔟 самых распространённых функций потерь в машинном обучении 👆
Please open Telegram to view this post
VIEW IN TELEGRAM
👍14
📖 Обзор книги «Грокаем алгоритмы», Адитья Бхаргава

Направление: #proglib_algorithms
Уровень: #proglib_junior

Автор применяет уникальный визуальный подход, с помощью которого объясняет базовые концепции, такие как сортировка, рекурсия, алгоритм Дейкстры, и многие другие. Благодаря большому количеству иллюстраций и практическим примерам, книга превращается в практическое руководство, особенно полезное для тех, кто только начинает своё знакомство с алгоритмами. Все примеры адаптированы под Python 3, что делает их актуальными для современных разработчиков.

💬 Что говорят люди:

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

Плюсы:

- Иллюстрации всё решают — если вам сложно понять текстовое объяснение, то более 400 наглядных схем точно помогут понять сложные алгоритмы.
- Понятно даже без математики — никакой сложной терминологии и математических уравнений. Бхаргава берёт сложные темы и объясняет их простым языком, делая алгоритмы доступными даже тем, кто не любит математику​.
- Практичность на первом месте — каждый алгоритм сопровождается кодом на Python 3, что помогает сразу применять изученное в реальных задачах​.

Минусы:

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

🖊 Об авторе:

Адитья Бхаргава — опытный инженер-программист с большим стажем работы в ведущих IT-компаниях. Он известен своим умением объяснять сложные технические темы простым и понятным языком, что делает его книги популярными среди программистов любого уровня.

Скидка 25% по промокоду: proglib

Купить книгу
Please open Telegram to view this post
VIEW IN TELEGRAM
1👍1👏1
👨‍💼 Молодая профессия: всё о бизнес-аналитике

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

В статье на Proglib разбираемся, какие задачи выполняет бизнес-аналитик, какие навыки ему необходимы и как этому обучиться.

👉 Читать статью
👍2
🧠 Как Яндекс научил Нейро видеть и понимать картинки

В новой статье на Хабре Яндекс раскрывает секреты обучения Visual Language Model (VLM). Разберёмся в архитектуре: LLM + картиночный энкодер + адаптер. Узнаем, как VLM анализирует детали изображений и отвечает на сложные вопросы. Разберёмся, чем новый пайплайн круче старого и почему это следующий уровень компьютерного зрения.

👉 Читать статью
👍4🔥3🤩2
Испытываете ли вы тревогу из-за распространения ИИ-ассистентов для написания кода/решения рабочих задач?
Anonymous Poll
25%
Да 😔
75%
Нет 😎
🏢 Как компании превращают данные в деньги: обзор российских практик Data Science

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

Хотите приобрести навыки для выполнения этих кейсов, тогда забирайте курсы:
🔵 Математика для Data Science
🔵 Основы программирования на Python

👉Ссылка на статью
Please open Telegram to view this post
VIEW IN TELEGRAM
👏6
📄 А это подборка интересных свежих статей по машинному обучению

🔹Were RNNs All We Needed?
Авторы статьи упоминают проблемы трансформеров в работе с длинными последовательностями. Из-за этих ограничений уже возобновился интерес к рекуррентным нейросетям, которые можно параллелизировать во время обучения.

🔹U-shaped and Inverted-U Scaling behind Emergent Abilities of Large Language Models
Авторы показывают, что производительность моделей в некоторых задачах сначала остаётся на одном уровне, а затем резко улучшается после достижения определённого масштаба.

🔹Training Language Models to Self-Correct via Reinforcement Learning
Авторы предлагают новый подход для самокоррекции LLM, называемый SCoRe, который использует многократное обучение с подкреплением (RL) в онлайн-режиме.

🔹AI-accelerated Nazca survey nearly doubles the number of known figurative geoglyphs and sheds light on their purpose
Статья о поиске новых геоглифов Наска с помощью компьютерного зрения.
👍3
📊 Data Science и Big Data: сходства и различия

В нашей статье разложим по полочкам сходства и различия между специализациями Data Science и Big Data.

🌻 Что внутри?

▪️ Термины
▪️ Применение
▪️ Навыки
▪️ Карьерные перспективы

👉 Ссылка на Статью
Please open Telegram to view this post
VIEW IN TELEGRAM
👏62
🧑‍🎓 Бесплатный курс Scientific Computing with Python

✍️ Основные темы
▪️Работа со строками, числами и алгоритмами
▪️lambda-функции
▪️Генерация списка с помощью list comprehension
▪️Регулярные выражения
▪️Дизайн алгоритмов
▪️Рекурсия
▪️Деревья и обход графов
▪️ООП

👀 Рассматриваемые проекты
▪️Создание арифметического форматтера
▪️Создание калькулятора
▪️Разработка бюджетного приложения

🔗 Ссылка на курс
🔥5
Media is too big
VIEW IN TELEGRAM
📼 Видео про законы масштабирования ИИ-моделей

В ролике обсуждаются такие темы:

▪️Законы масштабирования нейронных сетей, говорящие о том, что ошибка уменьшается с увеличением объёма данных и размеров моделей.
▪️Связь между данными и производительностью.
▪️Прогресс в сфере ИИ.

🔗 Смотреть ролик на YouTube
1
🎲 Ликбез по теореме Байеса

Мы используем теорему Байеса, когда хотим вычислить, как новые наблюдения влияют на наше понимание мира. Допустим, у нас есть некоторое событие, вероятность которого мы знаем. Теперь мы получили новые данные, которые как-то связаны с этим событием. Как изменится вероятность события после этих наблюдений? Это и есть главный вопрос, на который можно ответить, воспользовавшись формулой с картинки👆

✍️ Пример

Представим, что вы хотите узнать вероятность того, что человек болен гриппом (событие A), если он чихает (событие B). Вы знаете, что:
▪️Вероятность того, что человек чихает, если у него грипп, составляет 90% (P(B|A) = 0.9).
▪️Вероятность чихания для всех людей — 10% (P(B) = 0.1).
▪️Вероятность того, что человек болен гриппом — 1% (P(A) = 0.01).

Подставив это всё в формулу, получаем ответ 0.09, или 9%.

👀 Так, теорема Байеса отвечает за переход от априорной вероятности (до наблюдения) к апостериорной вероятности (после наблюдения).
👍27😁3🤩21
🤔 Как бы назвать статью по машинному обучению..?
Please open Telegram to view this post
VIEW IN TELEGRAM
😁29👍2
Media is too big
VIEW IN TELEGRAM
🫧🤖 Линус Торвальдс о будущем ИИ: хайп или революция?

Легенда мира open source делится мыслями о роли искусственного интеллекта в будущем программирования, предупреждая о опасностях чрезмерного ажиотажа.

👀 Мы написали пересказ на русском, а ещё сделали подборку ваших комментариев с мнениями по поводу будущего разработки в мире с AI.

👉 Прочесть всё можно по этой ссылке
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5