Proglib.academy | IT-курсы
👨💻Возвращаемся к вам с очередной задачкой по математике, которую можно встретить на собеседовании на позицию Data Scientist.   Дано 32-битное целое число x со знаком, верните x с обратными цифрами. Если изменение x приводит к выходу значения за пределы диапазона…
Это что будет первая задачка, с которой никто не справился?😢
  👀 Разбор задачи, которую публиковали во вторник 
Шаг 1. Извлекаем цифру из первой позиции x с помощью оператора по модулю и сохранияем ее.
Шаг 2. Добавляем эту цифру как самую правую.
Шаг 3: Удаляем из x и продолжаем, пока x не станет равным 0.
Поставьте 👍🏻, если хотите больше таких задачек
Шаг 1. Извлекаем цифру из первой позиции x с помощью оператора по модулю и сохранияем ее.
Шаг 2. Добавляем эту цифру как самую правую.
Шаг 3: Удаляем из x и продолжаем, пока x не станет равным 0.
Поставьте 👍🏻, если хотите больше таких задачек
👍4🔥1
  🔥А также напоминаем, про наши бесплатные вводные занятия курса «Математика для Data Science».
Начать с бесплатного демо-доступа можно здесь, ответив всего на 4 вопроса – https://proglib.io/w/db08077b
На вводных занятиях вас ждут:
– Лекции со всеми преподавателями МГУ по темам: теория множеств, непрерывность функции, основные формулы комбинаторики, матрицы и операции над ними, градиентный спуск.
– Практические задания и дополнительные материалы!
⚡️Переходите и активируйте – https://proglib.io/w/db08077b
  Начать с бесплатного демо-доступа можно здесь, ответив всего на 4 вопроса – https://proglib.io/w/db08077b
На вводных занятиях вас ждут:
– Лекции со всеми преподавателями МГУ по темам: теория множеств, непрерывность функции, основные формулы комбинаторики, матрицы и операции над ними, градиентный спуск.
– Практические задания и дополнительные материалы!
⚡️Переходите и активируйте – https://proglib.io/w/db08077b
Forwarded from Библиотека дата-сайентиста | Data Science, Machine learning, анализ данных, машинное обучение
  
Свежий #дайджест по статьям и видеороликам:
✍️ Обзор методов повышения производительности LLM
Это один из роликов с конференции DevDay, которые OpenAI опубликовала только сегодня ночью. Представленные выступления шли после блока анонсов от главы компании Сэма Олтмена. В них разработчики рассказали любопытные подробности.
✍️ Влияние больших языковых моделей на научные открытия
Практически книга, в которой рассказывается, как GPT-4 применим в открытии лекарств, биологии, вычислительной химии и т.д.
✍️ Эмбеддинги слов в PyTorch + Lightning
Ролик с песнями, объясняющий, как всё это накодить и использовать в PyTorch.
✍️ Введение в архитектуру MLOps
В статье перечислены ключевые компоненты архитектуры MLOps: от хранения данных до деплоя моделей и их мониторинга.
✍️ Как научить Transformer обрабатывать длинные тексты
Обзор основных идей по оптимизации self-attention.
  ✍️ Обзор методов повышения производительности LLM
Это один из роликов с конференции DevDay, которые OpenAI опубликовала только сегодня ночью. Представленные выступления шли после блока анонсов от главы компании Сэма Олтмена. В них разработчики рассказали любопытные подробности.
✍️ Влияние больших языковых моделей на научные открытия
Практически книга, в которой рассказывается, как GPT-4 применим в открытии лекарств, биологии, вычислительной химии и т.д.
✍️ Эмбеддинги слов в PyTorch + Lightning
Ролик с песнями, объясняющий, как всё это накодить и использовать в PyTorch.
✍️ Введение в архитектуру MLOps
В статье перечислены ключевые компоненты архитектуры MLOps: от хранения данных до деплоя моделей и их мониторинга.
✍️ Как научить Transformer обрабатывать длинные тексты
Обзор основных идей по оптимизации self-attention.
💬Чем отличаются статически типизированные языки от динамически типизированных?
📌Типизация — набор правил, по которым ЯП классифицирует информацию в коде и различает переменные по типу. От вида типизации зависит, на каком этапе выполнения кода программа будет искать ошибки и нужно ли разработчику писать тип вводимых данных или встроенные в язык алгоритмы сделают это автоматически.
💡Статическая: тип каждой переменной определяется во время компиляции (Java, C#, C++). То есть типы всех переменных должны быть известны до выполнения программы. Преимущества: более раннее обнаружение ошибок (компилятор может обнаружить типовые ошибки) и улучшение производительности (определение типов происходит на этапе компиляции).
💡Динамическая: типы переменных определяются во время выполнения программы (Python, Ruby, JavaScript). То есть переменные могут принимать различные типы данных в разное время во время выполнения. Основные преимущества — гибкость и более короткий код.
👉 Более подробно ознакомиться можно здесь
📌Типизация — набор правил, по которым ЯП классифицирует информацию в коде и различает переменные по типу. От вида типизации зависит, на каком этапе выполнения кода программа будет искать ошибки и нужно ли разработчику писать тип вводимых данных или встроенные в язык алгоритмы сделают это автоматически.
💡Статическая: тип каждой переменной определяется во время компиляции (Java, C#, C++). То есть типы всех переменных должны быть известны до выполнения программы. Преимущества: более раннее обнаружение ошибок (компилятор может обнаружить типовые ошибки) и улучшение производительности (определение типов происходит на этапе компиляции).
💡Динамическая: типы переменных определяются во время выполнения программы (Python, Ruby, JavaScript). То есть переменные могут принимать различные типы данных в разное время во время выполнения. Основные преимущества — гибкость и более короткий код.
👉 Более подробно ознакомиться можно здесь
👍1
  Forwarded from Библиотека дата-сайентиста | Data Science, Machine learning, анализ данных, машинное обучение
🔈16+ лучших нейронок для синтеза речи
Предлагаем подборку платных, бесплатных и опенсорсных инструментов для озвучивания текста, клонирования голоса и дублированного перевода подкастов и видео.
Читать статью
Предлагаем подборку платных, бесплатных и опенсорсных инструментов для озвучивания текста, клонирования голоса и дублированного перевода подкастов и видео.
Читать статью
👍2
  Какие есть методы оптимизации в машинном обучении?
Оптимизация — это, в сущности, процесс настройки алгоритма таким образом, чтобы минимизировать или максимизировать определённую функцию потерь.
🔸 Градиентный спуск. Самый простой и известный метод. Параметры модели обновляются с помощью градиента, чтобы прийти к точке минимума. Градиент — это вектор, направление которого совпадает с направлением наискорейшего локального возрастания функции. Соответственно, нас интересует антиградиент, то есть направление наискорейшего локального убывания.
🔸 Стохастический градиентный спуск. Вариация метода выше. В этом случае мы подменяем вычисление градиента по всей выборке вычислением по случайной подвыборке. Это ускоряет процесс обучения.
🔸 Градиентный спуск с моментом. Ещё одна вариация. С математической точки зрения, мы добавляем к градиентному шагу ещё одно слагаемое, которое содержит информацию о предыдущих шагах.
🔸 Adagrad. Адаптация стохастического градиентного спуска. Алгоритм адаптирует размер шага для каждого параметра индивидуально, что позволяет более эффективно находить оптимум.
🔸 RMSprop. Метод, разработанный для решения проблемы быстрого уменьшения скорости обучения в Adagrad.
🔸 Adam (ADAptive Momentum). Объединяет в себе идеи градиентного спуска с моментом и RMSprop.
  Оптимизация — это, в сущности, процесс настройки алгоритма таким образом, чтобы минимизировать или максимизировать определённую функцию потерь.
🔸 Градиентный спуск. Самый простой и известный метод. Параметры модели обновляются с помощью градиента, чтобы прийти к точке минимума. Градиент — это вектор, направление которого совпадает с направлением наискорейшего локального возрастания функции. Соответственно, нас интересует антиградиент, то есть направление наискорейшего локального убывания.
🔸 Стохастический градиентный спуск. Вариация метода выше. В этом случае мы подменяем вычисление градиента по всей выборке вычислением по случайной подвыборке. Это ускоряет процесс обучения.
🔸 Градиентный спуск с моментом. Ещё одна вариация. С математической точки зрения, мы добавляем к градиентному шагу ещё одно слагаемое, которое содержит информацию о предыдущих шагах.
🔸 Adagrad. Адаптация стохастического градиентного спуска. Алгоритм адаптирует размер шага для каждого параметра индивидуально, что позволяет более эффективно находить оптимум.
🔸 RMSprop. Метод, разработанный для решения проблемы быстрого уменьшения скорости обучения в Adagrad.
🔸 Adam (ADAptive Momentum). Объединяет в себе идеи градиентного спуска с моментом и RMSprop.
Forwarded from Библиотека дата-сайентиста | Data Science, Machine learning, анализ данных, машинное обучение
  
Очередной #дайджест:
🟣 Практический пример использования модели детекции изображений
Автор подробно рассказывает об учебном проекте, в рамках которого прикрутил модель детекции изображений к умной кормушке.
🟣 Исследование: ChatGPT работает лучше на Julia, чем на Python и R
Перевод статьи исследователя из Массачусетского технологического института. Он, к своему удивлению, выяснил, что ChatGPT лучше справляется с задачами генерации кода на менее распространённом языке Julia.
🟣 Файн-тюнинг языковых моделей для уменьшения фактических ошибок
Авторы статьи представили метод, позволяющий увеличить процент сгенерированных правильных утверждений. Они увидели снижение количества фактических ошибок при генерации на 58% по сравнению с Llama 2 7B Chat.
🟣 Эмбеддинги и векторное хранилище с ChromaDB
Подробная статья о том, что такое векторное представление данных, как работать с эмбеддингами и использовать ChromaDB. Всё с большим количеством примеров кода.
🟣 Практический пример использования модели детекции изображений
Автор подробно рассказывает об учебном проекте, в рамках которого прикрутил модель детекции изображений к умной кормушке.
🟣 Исследование: ChatGPT работает лучше на Julia, чем на Python и R
Перевод статьи исследователя из Массачусетского технологического института. Он, к своему удивлению, выяснил, что ChatGPT лучше справляется с задачами генерации кода на менее распространённом языке Julia.
🟣 Файн-тюнинг языковых моделей для уменьшения фактических ошибок
Авторы статьи представили метод, позволяющий увеличить процент сгенерированных правильных утверждений. Они увидели снижение количества фактических ошибок при генерации на 58% по сравнению с Llama 2 7B Chat.
🟣 Эмбеддинги и векторное хранилище с ChromaDB
Подробная статья о том, что такое векторное представление данных, как работать с эмбеддингами и использовать ChromaDB. Всё с большим количеством примеров кода.
👍3
  30802543.pdf
    337.8 KB
  Небольшая шпаргалка по pandas, библиотеке на языке Python для обработки и анализа данных
👍1
  🤖📜 Искусственный интеллект: краткая история
Впервые люди задумались о мыслящих машинах ещё в античности — у древних греков, например, был миф о гигантском бронзовом автоматоне Талосе. Позднее философы и вовсе решили, что мышление — это механический процесс, а значит его можно имитировать.
Подробнее о том, как мы докатились до создания искусственного интеллекта, читайте в статье 👀
Впервые люди задумались о мыслящих машинах ещё в античности — у древних греков, например, был миф о гигантском бронзовом автоматоне Талосе. Позднее философы и вовсе решили, что мышление — это механический процесс, а значит его можно имитировать.
Подробнее о том, как мы докатились до создания искусственного интеллекта, читайте в статье 👀
👍1
  Forwarded from Библиотека C/C++ разработчика | cpp, boost, qt
  
🧑💻🪜 6 карьерных советов программисту
Советы, которые подойдут джуниорам, мидлам и сеньорам.
#туториал
Читать статью
Советы, которые подойдут джуниорам, мидлам и сеньорам.
#туториал
Читать статью
👍2
  ⚡ Интервью с выпускником курса «Алгоритмы и структуры данных»
Мы пообщались с ребятами, которые у нас учились, чтобы они поделились впечетлениями. Поэтому ниже часть диалога из нашего интервью с Владиславом, который работает в сфере GameDev.
Почему вы решили пойти учиться?
– Основная цель – это успешно пройти собеседование в европейскую компанию. В FinTech всегда, в 100% случаев спрашивают на знание алгоритмов.
Помог ли вам наш курс в достижении этих целей?
– Да, получилось устроиться в классную компанию, но не в Microsoft пока, так что есть куда стремиться
Что вам больше всего понравилось на курсе?
– В базовом курсе мне понравилось наполнение, у Степана большой опыт в разработке, поэтому рассказывал все с рабочими примерами, узнал для себя много нового . Было полезно, расширяет кругозор. Ну и программа в целом, хорошее наполнение, считаю, что еще больше за такой срок в программу нельзя было уместить.
Как вы оценивали свой уровень знаний до начала обучения и как оцениваете сейчас от 1 до 10?
– До начала обучения по теории – 5, после обучения – 8. Начинал не с нуля, так как уже 6 лет работал разработчиком.
Дайте общую оценку нашему курсу: с какой вероятностью вы бы его порекомендовали друзьям? (от 1 до 10)
– Порекомендовал бы 10 из 10, уже рекомендовал знакомым, потому что без алгоритмов сейчас никуда.
Как планируете использовать полученные знания после курса?
– На собеседованиях в основном, так как это обязательная часть. На работе не так часто требуется, скорее для развития мозга полезно.
Напоминаем, что до конца месяца курс «Алгоритмы и структуры данных» можно получить со скидкой со скидкой 50% – https://proglib.io/w/8c8d18c4
Мы пообщались с ребятами, которые у нас учились, чтобы они поделились впечетлениями. Поэтому ниже часть диалога из нашего интервью с Владиславом, который работает в сфере 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 зависит от конкретной задачи и наличия/отсутствия размеченных данных.
  Supervised подразумевает обучение модели на данных, для которых известны ответы, то есть каждый пример в обучающем наборе имеет соответствующую метку или целевую переменную. Одной из задач обучения с учителем является классификация, где модель учится различать объекты разных классов. Это может пригодиться, например, при определении спама в электронной почте.
Unsupervised используется, когда у нас нет меток и мы хотим обнаружить скрытые закономерности в данных. Пример задачи обучения без учителя — кластеризация, где модель группирует данные на основе сходства. Это может пригодиться, например, при сегментации аудитории для маркетинговых целей.
Выбор между supervised и unsupervised зависит от конкретной задачи и наличия/отсутствия размеченных данных.
