Proglib.academy | IT-курсы
3.76K subscribers
2.1K photos
71 videos
14 files
1.97K links
Онлайн-курсы для программистов от создателей «Библиотеки программиста».

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

Учиться у нас: https://proglib.io/w/9f60aed6

Для обратной связи: @proglibrary_feeedback_bot
Download Telegram
👀 Разбор задачи, которую публиковали во вторник

Шаг 1. Извлекаем цифру из первой позиции x с помощью оператора по модулю и сохранияем ее.

Шаг 2. Добавляем эту цифру как самую правую.

Шаг 3: Удаляем из x и продолжаем, пока x не станет равным 0.

Поставьте 👍🏻, если хотите больше таких задачек
👍4🔥1
🔥А также напоминаем, про наши бесплатные вводные занятия курса «Математика для Data Science».

Начать с бесплатного демо-доступа можно здесь, ответив всего на 4 вопроса – https://proglib.io/w/db08077b

На вводных занятиях вас ждут:

– Лекции со всеми преподавателями МГУ по темам: теория множеств, непрерывность функции, основные формулы комбинаторики, матрицы и операции над ними, градиентный спуск.

– Практические задания и дополнительные материалы!

⚡️Переходите и активируйте – https://proglib.io/w/db08077b
Свежий #дайджест по статьям и видеороликам:

✍️ Обзор методов повышения производительности LLM
Это один из роликов с конференции DevDay, которые OpenAI опубликовала только сегодня ночью. Представленные выступления шли после блока анонсов от главы компании Сэма Олтмена. В них разработчики рассказали любопытные подробности.
✍️ Влияние больших языковых моделей на научные открытия
Практически книга, в которой рассказывается, как GPT-4 применим в открытии лекарств, биологии, вычислительной химии и т.д.
✍️ Эмбеддинги слов в PyTorch + Lightning
Ролик с песнями, объясняющий, как всё это накодить и использовать в PyTorch.
✍️ Введение в архитектуру MLOps
В статье перечислены ключевые компоненты архитектуры MLOps: от хранения данных до деплоя моделей и их мониторинга.
✍️ Как научить Transformer обрабатывать длинные тексты
Обзор основных идей по оптимизации self-attention.
💬Чем отличаются статически типизированные языки от динамически типизированных?

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

💡Статическая: тип каждой переменной определяется во время компиляции (Java, C#, C++). То есть типы всех переменных должны быть известны до выполнения программы. Преимущества: более раннее обнаружение ошибок (компилятор может обнаружить типовые ошибки) и улучшение производительности (определение типов происходит на этапе компиляции).

💡Динамическая: типы переменных определяются во время выполнения программы (Python, Ruby, JavaScript). То есть переменные могут принимать различные типы данных в разное время во время выполнения. Основные преимущества — гибкость и более короткий код.

👉 Более подробно ознакомиться можно здесь
👍1
🔈16+ лучших нейронок для синтеза речи

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

Читать статью
👍2
Какие есть методы оптимизации в машинном обучении?

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

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

🔸 Стохастический градиентный спуск. Вариация метода выше. В этом случае мы подменяем вычисление градиента по всей выборке вычислением по случайной подвыборке. Это ускоряет процесс обучения.

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

🔸 Adagrad. Адаптация стохастического градиентного спуска. Алгоритм адаптирует размер шага для каждого параметра индивидуально, что позволяет более эффективно находить оптимум.

🔸 RMSprop. Метод, разработанный для решения проблемы быстрого уменьшения скорости обучения в Adagrad.

🔸 Adam (ADAptive Momentum). Объединяет в себе идеи градиентного спуска с моментом и RMSprop.
Очередной #дайджест:

🟣 Практический пример использования модели детекции изображений
Автор подробно рассказывает об учебном проекте, в рамках которого прикрутил модель детекции изображений к умной кормушке.
🟣 Исследование: ChatGPT работает лучше на Julia, чем на Python и R
Перевод статьи исследователя из Массачусетского технологического института. Он, к своему удивлению, выяснил, что ChatGPT лучше справляется с задачами генерации кода на менее распространённом языке Julia.
🟣 Файн-тюнинг языковых моделей для уменьшения фактических ошибок
Авторы статьи представили метод, позволяющий увеличить процент сгенерированных правильных утверждений. Они увидели снижение количества фактических ошибок при генерации на 58% по сравнению с Llama 2 7B Chat.
🟣 Эмбеддинги и векторное хранилище с ChromaDB
Подробная статья о том, что такое векторное представление данных, как работать с эмбеддингами и использовать ChromaDB. Всё с большим количеством примеров кода.
👍3
30802543.pdf
337.8 KB
Небольшая шпаргалка по pandas, библиотеке на языке Python для обработки и анализа данных
👍1
🤖📜 Искусственный интеллект: краткая история

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

Подробнее о том, как мы докатились до создания искусственного интеллекта, читайте в статье 👀
👍1
🧑‍💻🪜 6 карьерных советов программисту

Советы, которые подойдут джуниорам, мидлам и сеньорам.

#туториал

Читать статью
👍2
Интервью с выпускником курса «Алгоритмы и структуры данных»

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

Почему вы решили пойти учиться?
– Основная цель – это успешно пройти собеседование в европейскую компанию. В FinTech всегда, в 100% случаев спрашивают на знание алгоритмов.

Помог ли вам наш курс в достижении этих целей?
– Да, получилось устроиться в классную компанию, но не в Microsoft пока, так что есть куда стремиться

Что вам больше всего понравилось на курсе?
– В базовом курсе мне понравилось наполнение, у Степана большой опыт в разработке, поэтому рассказывал все с рабочими примерами, узнал для себя много нового . Было полезно, расширяет кругозор. Ну и программа в целом, хорошее наполнение, считаю, что еще больше за такой срок в программу нельзя было уместить.

Как вы оценивали свой уровень знаний до начала обучения и как оцениваете сейчас от 1 до 10?
– До начала обучения по теории – 5, после обучения – 8. Начинал не с нуля, так как уже 6 лет работал разработчиком.

Дайте общую оценку нашему курсу: с какой вероятностью вы бы его порекомендовали друзьям? (от 1 до 10)
– Порекомендовал бы 10 из 10, уже рекомендовал знакомым, потому что без алгоритмов сейчас никуда.

Как планируете использовать полученные знания после курса?
– На собеседованиях в основном, так как это обязательная часть. На работе не так часто требуется, скорее для развития мозга полезно.

Напоминаем, что до конца месяца курс «Алгоритмы и структуры данных» можно получить со скидкой со скидкой 50% – https://proglib.io/w/8c8d18c4
4
В чем разница между «обучением с учителем» (supervised) и «обучением без учителя» (unsupervised).

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

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

Выбор между supervised и unsupervised зависит от конкретной задачи и наличия/отсутствия размеченных данных.