Отзывы 💭
Давайте сегодня поговорим об отзывах с курса. Почему это важно, во-первых, конечно же это результаты нашей работы, не только моей, но и ребят. Я думаю, что им будет очень приятно также читать эти посты, так как они помнят свой путь и к чему они в итоге пришли.
Во-вторых, в отзыве также бывают и рекомендации к курсу, а это важно, ничего не может быть идеальным, мы берем это на заметку + конечно же обратная связь во время курса.
На картинках вы увидите только малую долю отзывов, которые пишут по итогу курса, очень много пишут мне лично и во время. Вы наверное уже видели, что писали ребята с прошлых потоков в чате в телеге.
📃 Я взяла только малую часть текста отзывов, чтобы на картинке это смотрелось лаконично и было довольно удобно читать тезисы ))
Это все реальные отзывы, реальных людей, кто устроился на работу.
Ваш труд + терпение + знания, которые мы даем, творят чудеса. Хотя с другой стороны это не совсем чудеса, так как все довольно логично: что делаешь, то и получаешь (устроился на работу, либо повысился в должности и так далее).
Также хочу сказать ребятам моим выпускникам, студентам, что вы большие молодцы, очень здорово, что вы трудитесь, не сдаетесь, а ведь обучение - это всегда стресс. Хочется вам пожелать больших высот на работе, интересных и крутых проектов, а также чтобы работа приносила вам удовольствие ❤️
Про сам курс:
⚠️ 4-ый поток начинается 27 марта, у нас осталось 5 мест, мы не берем много людей, чтобы каждому студенту уделить внимание.
Подробная информация по курсу на сайте PyMagic
Давайте сегодня поговорим об отзывах с курса. Почему это важно, во-первых, конечно же это результаты нашей работы, не только моей, но и ребят. Я думаю, что им будет очень приятно также читать эти посты, так как они помнят свой путь и к чему они в итоге пришли.
Во-вторых, в отзыве также бывают и рекомендации к курсу, а это важно, ничего не может быть идеальным, мы берем это на заметку + конечно же обратная связь во время курса.
На картинках вы увидите только малую долю отзывов, которые пишут по итогу курса, очень много пишут мне лично и во время. Вы наверное уже видели, что писали ребята с прошлых потоков в чате в телеге.
📃 Я взяла только малую часть текста отзывов, чтобы на картинке это смотрелось лаконично и было довольно удобно читать тезисы ))
Это все реальные отзывы, реальных людей, кто устроился на работу.
Ваш труд + терпение + знания, которые мы даем, творят чудеса. Хотя с другой стороны это не совсем чудеса, так как все довольно логично: что делаешь, то и получаешь (устроился на работу, либо повысился в должности и так далее).
Также хочу сказать ребятам моим выпускникам, студентам, что вы большие молодцы, очень здорово, что вы трудитесь, не сдаетесь, а ведь обучение - это всегда стресс. Хочется вам пожелать больших высот на работе, интересных и крутых проектов, а также чтобы работа приносила вам удовольствие ❤️
Про сам курс:
⚠️ 4-ый поток начинается 27 марта, у нас осталось 5 мест, мы не берем много людей, чтобы каждому студенту уделить внимание.
Подробная информация по курсу на сайте PyMagic
👍20❤14🔥3
Ваши вопросы 🤔
Друзья, то самое время, когда можно проявить свою инициативу! Хочу на днях записать видос для канала с ответами на популярные вопросы.
Пишите свои вопросы под этим постом, выберу ТОП интересных, и возможно ваш попадает в новый ролик на YouTube 😉
Друзья, то самое время, когда можно проявить свою инициативу! Хочу на днях записать видос для канала с ответами на популярные вопросы.
Пишите свои вопросы под этим постом, выберу ТОП интересных, и возможно ваш попадает в новый ролик на YouTube 😉
❤8
👩🏻💻 Навыки, которые необходимы Data Scientist
Заметила, что чаще всего в DS уделяют внимание как правило только hard-скиллам, безусловно это супер важно, но без прокаченных soft-скиллов вы не будете расти карьерно, ваши модели будут уходить в стол, ну и просто останетесь наедине со своими формулами как одной волк 😁
Поэтому давайте агрегируем список навыков по hard и soft скиллам
🏋️♀️ Hard-skills:
⁃ Знание языков программирования и запросов: Python, SQL, R (не всегда). Python и SQL используются для обработки и извлечения данных, R - для статистического анализа и построения моделей. Важно уметь писать оптимальный код, а также документацию к нему
⁃ Навыки работы с большими данными и СУБД (SQL, NoSQL), умение писать оптимальные запросы
⁃ Знание алгоритмов ML и математики (статистика, матан и так далее): линейные модели, деревья решений, ансамбли, нейронные сети, кластеризация и др.
⁃ Навыки визуализации данных. Умение строить информативные диаграммы, графики, тепловые карты для выявления закономерностей и тенденций в данных
⁃ Понимание принципов построения алгоритмов и оценки их сложности
🧸Soft-skills:
⁃ Аналитическое мышление. Способность выявлять проблемы, формулировать гипотезы, находить оптимальные решения
⁃ Коммуникабельность. Умение презентовать результаты анализа и визуализации данных неспециалистам, объяснять выводы и рекомендации. Это один из важный этапов
⁃ Проактивность. Стремление улучшать процессы, искать новые источники данных, автоматизировать рутинные задачи
⁃ Креативное мышление. Способность генерировать новые идеи, выходить за рамки стандартных решений
Обладая этим набором навыков, вы сможете развиваться в данной сфере и расти по карьерной лестнице. Важно постоянно развивать и совершенствовать свои hard и soft скиллы для решения актуальных и сложных задач в области Data Science.
Делитесь также в комментах тем, что помогает расти вам в данной сфере👇
Заметила, что чаще всего в DS уделяют внимание как правило только hard-скиллам, безусловно это супер важно, но без прокаченных soft-скиллов вы не будете расти карьерно, ваши модели будут уходить в стол, ну и просто останетесь наедине со своими формулами как одной волк 😁
Поэтому давайте агрегируем список навыков по hard и soft скиллам
🏋️♀️ Hard-skills:
⁃ Знание языков программирования и запросов: Python, SQL, R (не всегда). Python и SQL используются для обработки и извлечения данных, R - для статистического анализа и построения моделей. Важно уметь писать оптимальный код, а также документацию к нему
⁃ Навыки работы с большими данными и СУБД (SQL, NoSQL), умение писать оптимальные запросы
⁃ Знание алгоритмов ML и математики (статистика, матан и так далее): линейные модели, деревья решений, ансамбли, нейронные сети, кластеризация и др.
⁃ Навыки визуализации данных. Умение строить информативные диаграммы, графики, тепловые карты для выявления закономерностей и тенденций в данных
⁃ Понимание принципов построения алгоритмов и оценки их сложности
🧸Soft-skills:
⁃ Аналитическое мышление. Способность выявлять проблемы, формулировать гипотезы, находить оптимальные решения
⁃ Коммуникабельность. Умение презентовать результаты анализа и визуализации данных неспециалистам, объяснять выводы и рекомендации. Это один из важный этапов
⁃ Проактивность. Стремление улучшать процессы, искать новые источники данных, автоматизировать рутинные задачи
⁃ Креативное мышление. Способность генерировать новые идеи, выходить за рамки стандартных решений
Обладая этим набором навыков, вы сможете развиваться в данной сфере и расти по карьерной лестнице. Важно постоянно развивать и совершенствовать свои hard и soft скиллы для решения актуальных и сложных задач в области Data Science.
Делитесь также в комментах тем, что помогает расти вам в данной сфере👇
❤30👍12🔥3
Какую ЗП просить Junior? Какие делать pet project? 🤔
В новом ролике постаралась ответить на ваши вопросы. Разберем, сколько денег просить начинающему Junior Data Scientist, а также как сориентироваться по цифрам, чтоб и не просить заоблачные суммы, либо вообще работать за спасибо.
Также поговорим с вами о том, сколько времени необходимо посвящать работе и учебе.
Ну и конечно же очень много вопросов было по поводу pet projects. Это действительно сейчас довольно важный кусок, но помимо этого он является неотъемлемой частью ваших знаний в области науки о данных. Pet project своего рода визитная карточка начинающего специалиста: опыта еще нет, но свои знания и навыки как то нужно продемонстрировать.
https://youtu.be/KI55gOIHXJo
В новом ролике постаралась ответить на ваши вопросы. Разберем, сколько денег просить начинающему Junior Data Scientist, а также как сориентироваться по цифрам, чтоб и не просить заоблачные суммы, либо вообще работать за спасибо.
Также поговорим с вами о том, сколько времени необходимо посвящать работе и учебе.
Ну и конечно же очень много вопросов было по поводу pet projects. Это действительно сейчас довольно важный кусок, но помимо этого он является неотъемлемой частью ваших знаний в области науки о данных. Pet project своего рода визитная карточка начинающего специалиста: опыта еще нет, но свои знания и навыки как то нужно продемонстрировать.
https://youtu.be/KI55gOIHXJo
YouTube
Сколько денег просить Junior Data Scientist? Какие pet-project делать, чтобы тебя взяли на работу?
Курс по Data Science старт 4 потока в конце марта https://pymagic.ru
Таймкоды:
00:00 Стоит ли реализовывать пет проекты, которые уже были реализованы?
01:12 Какую зарплату просить Junior DS?
03:06 Сколько нужно пет проектов для Junior?
03:52 Нужно ли делать…
Таймкоды:
00:00 Стоит ли реализовывать пет проекты, которые уже были реализованы?
01:12 Какую зарплату просить Junior DS?
03:06 Сколько нужно пет проектов для Junior?
03:52 Нужно ли делать…
🔥25👍4
Градиентный бустинг 👩🏻💻
Давайте сегодня поговорим о бустингах. Именно этот тип моделей довольно часто используют на практике на табличных данных.
Градиентный бустинг - это метод машинного обучения, который сочетает в себе обучение нескольких слабых моделей для создания одной сильной модели. Он основан на идее постепенного улучшения модели путем добавления новых, которые учитывают ошибки предыдущей модели.
💻 Для каких задач можно использовать градиентные бустинги?
Скорее ни для кого уже не секрет, что можно использовать такой тип моделей как для задачи классификации (бинарной, многоклассовой), где мы предсказываем метки классов, так и для задачи регрессии, где необходимо предсказать вещественное число.
Но что еще помимо этого?
📌 Задача ранжирования. Например, ранжирование страниц в поисковой выдаче или ранжирование товаров в интернет-магазине.
Кстати, многие крупные компании используют бустинги в проде. По сравнению с нейронками бустинги легче интерпретировать, что часто очень важно для бизнеса.
Наиболее популярные библиотеки, в основах которых лежит модель градиентного бустинга: LightGBM, Py-Boost, CatBoost, XGBoost.
Давайте сегодня поговорим о бустингах. Именно этот тип моделей довольно часто используют на практике на табличных данных.
Градиентный бустинг - это метод машинного обучения, который сочетает в себе обучение нескольких слабых моделей для создания одной сильной модели. Он основан на идее постепенного улучшения модели путем добавления новых, которые учитывают ошибки предыдущей модели.
💻 Для каких задач можно использовать градиентные бустинги?
Скорее ни для кого уже не секрет, что можно использовать такой тип моделей как для задачи классификации (бинарной, многоклассовой), где мы предсказываем метки классов, так и для задачи регрессии, где необходимо предсказать вещественное число.
Но что еще помимо этого?
📌 Задача ранжирования. Например, ранжирование страниц в поисковой выдаче или ранжирование товаров в интернет-магазине.
Кстати, многие крупные компании используют бустинги в проде. По сравнению с нейронками бустинги легче интерпретировать, что часто очень важно для бизнеса.
Наиболее популярные библиотеки, в основах которых лежит модель градиентного бустинга: LightGBM, Py-Boost, CatBoost, XGBoost.
👍29🔥2
Визуализация. Что еще помимо matplotlib и seaborn?
Библиотеки Matplotlib и Seaborn являются популярными инструментами для визуализации, но есть ряд других интересных библиотек, которые также могут быть полезны в работе для Data Scientist.
1️⃣ Plotly - это популярная библиотека для создания интерактивных визуализаций. Она предлагает широкий спектр типов графиков, включая диаграммы рассеяния, линейные графики, тепловые карты и др., позволяет добавлять интерактивность к визуализациям, такие как прокрутка, масштабирование и выбор данных.
2️⃣ Bokeh - это еще одна библиотека для создания интерактивных визуализаций, которая предоставляет широкий спектр различных типов визуализаций. Bokeh позволяет создавать сложные графики, включая статические и интерактивные, графики в режиме реального времени, может работать с большими объемами данных.
3️⃣ Holoviews - это библиотека для создания интерактивных графиков и диаграмм в Python. Позволяет создавать высококачественные графики, используя минимум кода, кстати, об этой библиотеке писали ранее здесь
4️⃣ Plotnine - это библиотека, которая является Python-реализацией грамматики графики ggplot2 (язык R). Основная идея Plotnine заключается в использованием грамматики графиков, которая определяет основные компоненты графика (например, оси координат, метки, легенду) и способы их настройки. Это позволяет пользователям создавать сложные и красивые визуализации, например, таблицу Менделеева, с минимумом кода.
5️⃣ Datashader - предназначена для обработки больших объемов данных. Основной принцип работы Datashader заключается в агрегации данных в небольшие бины и их последующей визуализации.
Библиотеки Matplotlib и Seaborn являются популярными инструментами для визуализации, но есть ряд других интересных библиотек, которые также могут быть полезны в работе для Data Scientist.
1️⃣ Plotly - это популярная библиотека для создания интерактивных визуализаций. Она предлагает широкий спектр типов графиков, включая диаграммы рассеяния, линейные графики, тепловые карты и др., позволяет добавлять интерактивность к визуализациям, такие как прокрутка, масштабирование и выбор данных.
2️⃣ Bokeh - это еще одна библиотека для создания интерактивных визуализаций, которая предоставляет широкий спектр различных типов визуализаций. Bokeh позволяет создавать сложные графики, включая статические и интерактивные, графики в режиме реального времени, может работать с большими объемами данных.
3️⃣ Holoviews - это библиотека для создания интерактивных графиков и диаграмм в Python. Позволяет создавать высококачественные графики, используя минимум кода, кстати, об этой библиотеке писали ранее здесь
4️⃣ Plotnine - это библиотека, которая является Python-реализацией грамматики графики ggplot2 (язык R). Основная идея Plotnine заключается в использованием грамматики графиков, которая определяет основные компоненты графика (например, оси координат, метки, легенду) и способы их настройки. Это позволяет пользователям создавать сложные и красивые визуализации, например, таблицу Менделеева, с минимумом кода.
5️⃣ Datashader - предназначена для обработки больших объемов данных. Основной принцип работы Datashader заключается в агрегации данных в небольшие бины и их последующей визуализации.
👍24
🔡 Аугментация текстовых данных
Аугментация - процесс "наращивания" данных, генерация новых объектов для обучения модели на основе уже существующих.
Бывает, что, решая конкретную ML-задачу, вы понимаете, что данных для обучения качественной модели не хватает. Безусловно, можно попытаться вручную разметить еще какое-то количество объектов, но что, если для начала попробовать создать новые объекты из уже имеющихся? 🤔
В задачах компьютерного зрения в качестве аугментации можно растягивать, отзеркаливать, поворачивать изображения. Действительно, после таких трансформаций мы все еще можем понять, что изображено на фото, и, что важнее, модель тоже может. Однако в случае текстовых данных способы трансформации кажутся менее очевидными. Давайте рассмотрим некоторые из них.
1️⃣ Для начала поговорим об char-level аугментации. Рассматривая каждый текст как последовательность символов, мы могли бы преобразовывать входные данные в тексты с имитацией случайных опечаток в отдельных буквах.
2️⃣ При использовании word-level трансформаций можно делать замену слов на синонимы или антонимы, перестанавливать слова в предложениях или вовсе убирать их случайным образом.
3️⃣ Говоря об аугментации текстов, нельзя не вспомнить об обратном переводе - методе, в котором сначала текст переводится на целевой язык, а затем снова на исходный. При этом меняются отдельные слова или даже фразы, но смысл остается неизменным.
4️⃣ Переходя на sentence-level - уровень целых предложений, можно использовать абстрактивную суммаризацию - подход, при котором предобученная нейросетевая модель получает исходный текст, и выдает его переписанное содержание.
Реализация всех этих способов вручную была бы трудоемким занятием, но нам повезло, что все эти методы и многие другие уже есть в библиотеке nlpaug.
❗️Впрочем, перед тем как использовать аугментацию, стоит помнить несколько вещей:
⁃ Аугментация не является серебряной пулей для всех задач. Вполне возможно, на ваших данных она не приведет в итоге к значительному увеличению метрик
⁃ Не существует универсального метода аугментации, под каждую задачу его нужно подбирать, но ничто не мешает использовать сразу несколько
⁃ Не стоит тестировать качество на аугментированных данных - они используются только на этапе обучения модели
⁃ При этом, если вы используете k-fold валидацию, стоит следить за тем, чтобы исходный и аугментированный тексты оказывались в одном фолде, во избежание утечки данных
Аугментация - процесс "наращивания" данных, генерация новых объектов для обучения модели на основе уже существующих.
Бывает, что, решая конкретную ML-задачу, вы понимаете, что данных для обучения качественной модели не хватает. Безусловно, можно попытаться вручную разметить еще какое-то количество объектов, но что, если для начала попробовать создать новые объекты из уже имеющихся? 🤔
В задачах компьютерного зрения в качестве аугментации можно растягивать, отзеркаливать, поворачивать изображения. Действительно, после таких трансформаций мы все еще можем понять, что изображено на фото, и, что важнее, модель тоже может. Однако в случае текстовых данных способы трансформации кажутся менее очевидными. Давайте рассмотрим некоторые из них.
1️⃣ Для начала поговорим об char-level аугментации. Рассматривая каждый текст как последовательность символов, мы могли бы преобразовывать входные данные в тексты с имитацией случайных опечаток в отдельных буквах.
2️⃣ При использовании word-level трансформаций можно делать замену слов на синонимы или антонимы, перестанавливать слова в предложениях или вовсе убирать их случайным образом.
3️⃣ Говоря об аугментации текстов, нельзя не вспомнить об обратном переводе - методе, в котором сначала текст переводится на целевой язык, а затем снова на исходный. При этом меняются отдельные слова или даже фразы, но смысл остается неизменным.
4️⃣ Переходя на sentence-level - уровень целых предложений, можно использовать абстрактивную суммаризацию - подход, при котором предобученная нейросетевая модель получает исходный текст, и выдает его переписанное содержание.
Реализация всех этих способов вручную была бы трудоемким занятием, но нам повезло, что все эти методы и многие другие уже есть в библиотеке nlpaug.
❗️Впрочем, перед тем как использовать аугментацию, стоит помнить несколько вещей:
⁃ Аугментация не является серебряной пулей для всех задач. Вполне возможно, на ваших данных она не приведет в итоге к значительному увеличению метрик
⁃ Не существует универсального метода аугментации, под каждую задачу его нужно подбирать, но ничто не мешает использовать сразу несколько
⁃ Не стоит тестировать качество на аугментированных данных - они используются только на этапе обучения модели
⁃ При этом, если вы используете k-fold валидацию, стоит следить за тем, чтобы исходный и аугментированный тексты оказывались в одном фолде, во избежание утечки данных
👍25❤3
Пишем градиентный бустинг с нуля на Python 🐍
Вы уже не раз просили меня написать реализацию алгоритма бустинга 💻
В новом видео разобрала классическую реализацию, плюс попробовала еще добавить регуляризатор для снижения переобучения алгоритма)
А вообще, разобрав алгоритм по косточкам, вам будет намного проще понимать, какие гиперпараметры и как необходимо подбирать) Мы кстати на основном курсе по DS уже как 2 года разбираем все алгоритмы ML с нуля, я считаю, это достаточно крутым упражнением.
Поэтому смотрите, пробуйте повторить, и в качестве проработки этой темы, рекомендую вам еще самим добавить к реализации другие параметры, то есть дополнить алгоритм бустинга)
https://youtu.be/-cp0aVkoI5U
Вы уже не раз просили меня написать реализацию алгоритма бустинга 💻
В новом видео разобрала классическую реализацию, плюс попробовала еще добавить регуляризатор для снижения переобучения алгоритма)
А вообще, разобрав алгоритм по косточкам, вам будет намного проще понимать, какие гиперпараметры и как необходимо подбирать) Мы кстати на основном курсе по DS уже как 2 года разбираем все алгоритмы ML с нуля, я считаю, это достаточно крутым упражнением.
Поэтому смотрите, пробуйте повторить, и в качестве проработки этой темы, рекомендую вам еще самим добавить к реализации другие параметры, то есть дополнить алгоритм бустинга)
https://youtu.be/-cp0aVkoI5U
YouTube
Градиентный бустинг с нуля на Python / Data Science
Небольшая опечатка:
в self.loss_gradient(y, self.y_pred) (подаем self.y_pred, а не self.y_base)
Таймкоды:
00:00 О градиентом бустинге
00:41 Импортируем датасет
01:28 Пишем ансамбль / базовый алгоритм Decision Tree / где градиент
05:08 Скорость обучения …
в self.loss_gradient(y, self.y_pred) (подаем self.y_pred, а не self.y_base)
Таймкоды:
00:00 О градиентом бустинге
00:41 Импортируем датасет
01:28 Пишем ансамбль / базовый алгоритм Decision Tree / где градиент
05:08 Скорость обучения …
🔥39👍8❤🔥3🤩1
This media is not supported in your browser
VIEW IN TELEGRAM
ВВЕДЕНИЕ В СОВРЕМЕННОЕ КОМПЬЮТЕРНОЕ ЗРЕНИЕ 👓
Друзья, мы с вами достаточно часто говорим про задачи, которые связаны с табличными данными. И вы знаете, что для решения таких задач хорошо подходит, например, градиентный бустинг.
🧐 Но есть задачи, где данные представлены в более сложном виде. Вы тоже про них не раз слышали. Поговорим про задачи компьютерного зрения, где информация представлена в виде картинок. Самая первая задача, с которой часто начинают новички, - определить кто изображен на фотографии: кошка или собака.
👁️🗨️ Первые подходы к решению подобных задач были достаточно трудоемкими и делились на несколько этапов. Первым этапом разработчики придумывали, как посчитать признаки. Смотрели на формы хвостов, носов, мордочки и так далее… Это была огромная и долгая работа. Далее получали признаковое описание для каждой фотографии животного и использовали тот же самый градиентный бустинг.
⚠️ Такие подходы работали не лучшим образом. Более того, сбор признаков – отдельная объемная задача, на которую тратилось большое количество времени…
❗️Далее был предложен подход, который принимал на вход картинку животного, передавал ее в качестве входного параметра в некоторую функцию. Затем внутри функции происходила некоторая обработка изображения, и возвращался ответ в виде числа: пусть 1 – если животное на картинке было кошкой, 0 – если собакой.
👍 Теперь разработчики смогли менять множество различных параметров внутри функции, принимающей на вход картинку, регулируя при этом возвращаемые значения.
✅Такой подход не делился на этапы как предыдущий. И давал более точные результаты в задачах компьютерного зрения!
Друзья, мы с вами достаточно часто говорим про задачи, которые связаны с табличными данными. И вы знаете, что для решения таких задач хорошо подходит, например, градиентный бустинг.
🧐 Но есть задачи, где данные представлены в более сложном виде. Вы тоже про них не раз слышали. Поговорим про задачи компьютерного зрения, где информация представлена в виде картинок. Самая первая задача, с которой часто начинают новички, - определить кто изображен на фотографии: кошка или собака.
👁️🗨️ Первые подходы к решению подобных задач были достаточно трудоемкими и делились на несколько этапов. Первым этапом разработчики придумывали, как посчитать признаки. Смотрели на формы хвостов, носов, мордочки и так далее… Это была огромная и долгая работа. Далее получали признаковое описание для каждой фотографии животного и использовали тот же самый градиентный бустинг.
⚠️ Такие подходы работали не лучшим образом. Более того, сбор признаков – отдельная объемная задача, на которую тратилось большое количество времени…
❗️Далее был предложен подход, который принимал на вход картинку животного, передавал ее в качестве входного параметра в некоторую функцию. Затем внутри функции происходила некоторая обработка изображения, и возвращался ответ в виде числа: пусть 1 – если животное на картинке было кошкой, 0 – если собакой.
👍 Теперь разработчики смогли менять множество различных параметров внутри функции, принимающей на вход картинку, регулируя при этом возвращаемые значения.
✅Такой подход не делился на этапы как предыдущий. И давал более точные результаты в задачах компьютерного зрения!
👍31
🔤 Токенизация текстов - как и зачем?
При решении задач обработки естественного языка (NLP) одним из важнейших этапов является токенизация - разделение текста на отдельные части (токены). Часто в качестве единицы разбиения выбирают слово, однако это не единственный и, главное, не всегда удачный вариант.
❓Какая токенизация бывает?
Можно выделить следующие уровни абстракции текста и, соответственно, токенизации:
⁃ Символы - отдельные знаки
⁃ Символьные N-граммы - комбинации из двух, трех или более символов, идущих подряд.
⁃ Подслова - одним из популярных способов разделения текстов на подслова является BPE (Byte Pair Encoding). В данном методе производится итеративный подсчет частоты токенов, начиная с отдельных символов, самых частотные из которых объединяются в подслова. Подобный способ токенизации сегодня можно встретить в таких моделях как BERT, GPT-2 и многие другие.
⁃ Слова - простой и понятный метод разделения текстов по пробелу.
⁃ Словосочетания - как и в случае символов и символьных N-грамм, аналогичным образом можно токенизировать тексты, используя комбинации нескольких слов, идущих подряд.
⁃ Предложения - завершая иерархию абстракций, можно упомянуть сегментацию предложений. Решая подобную задачу мы разбиваем исходные данные на отдельные предложения.
❓Как выбрать уровень токенизации?
Для выбора подходящего способа токенизации стоит отталкиваться от формулировки задачи, богатства морфологии языка, на котором написаны тексты, и их особенностей, например, таких, как наличие большого количества опечаток.
❓Какими инструментами можно провести токенизацию?
Простейшие методы, например, такие как разбиение по пробелу, можно реализовать самостоятельно, пользуясь встроенными методами языка Python или регулярными выражениями.
Однако на сегодняшний день существует огромное количество библиотек для токенизации:
⁃ NLTK
⁃ Spacy
⁃ Stanza
⁃ SentencePiece
⁃ YouTokenToMe (очень эффективная реализация BPE).
Отдельно можно выделить Razdel - библиотека из проекта Natasha, предназначенная для токенизации текстов на русском языке.
При решении задач обработки естественного языка (NLP) одним из важнейших этапов является токенизация - разделение текста на отдельные части (токены). Часто в качестве единицы разбиения выбирают слово, однако это не единственный и, главное, не всегда удачный вариант.
❓Какая токенизация бывает?
Можно выделить следующие уровни абстракции текста и, соответственно, токенизации:
⁃ Символы - отдельные знаки
⁃ Символьные N-граммы - комбинации из двух, трех или более символов, идущих подряд.
⁃ Подслова - одним из популярных способов разделения текстов на подслова является BPE (Byte Pair Encoding). В данном методе производится итеративный подсчет частоты токенов, начиная с отдельных символов, самых частотные из которых объединяются в подслова. Подобный способ токенизации сегодня можно встретить в таких моделях как BERT, GPT-2 и многие другие.
⁃ Слова - простой и понятный метод разделения текстов по пробелу.
⁃ Словосочетания - как и в случае символов и символьных N-грамм, аналогичным образом можно токенизировать тексты, используя комбинации нескольких слов, идущих подряд.
⁃ Предложения - завершая иерархию абстракций, можно упомянуть сегментацию предложений. Решая подобную задачу мы разбиваем исходные данные на отдельные предложения.
❓Как выбрать уровень токенизации?
Для выбора подходящего способа токенизации стоит отталкиваться от формулировки задачи, богатства морфологии языка, на котором написаны тексты, и их особенностей, например, таких, как наличие большого количества опечаток.
❓Какими инструментами можно провести токенизацию?
Простейшие методы, например, такие как разбиение по пробелу, можно реализовать самостоятельно, пользуясь встроенными методами языка Python или регулярными выражениями.
Однако на сегодняшний день существует огромное количество библиотек для токенизации:
⁃ NLTK
⁃ Spacy
⁃ Stanza
⁃ SentencePiece
⁃ YouTokenToMe (очень эффективная реализация BPE).
Отдельно можно выделить Razdel - библиотека из проекта Natasha, предназначенная для токенизации текстов на русском языке.
👍23❤4🔥3
🧠 Сверточные нейросети. Фильтр
💭 Друзья, приходилось ли вам когда-нибудь повышать резкость на своих фотокарточках? Думаю, лет 5 назад эта тема была особенно актуальна, так как у большинства смартфонов камеры были не столь чувствительны как сейчас.
🧐 Сталкиваясь с такой проблемой, мы обращаемся за помощью к встроенным функциям или программам, которые прорисовывают детали на наших картинках более четко. Чаще всего «под капотом» у таких программ находится архитектура свёрточных нейросетей.
👍 Сверточные нейросети состоят из нескольких слоев взаимосвязанных нейронов. Первый слой обычно применяет серию «фильтров» для извлечения важных функций из входного изображения. Именно с помощью применения фильтров входные изображения могут меняться в зависимости от вашего желания.
📌 Мы можем представить себе изображение, состоящее из отдельных пикселей, как функцию, где каждый пиксель имеет свое значение. Для изображения в градациях серого каждый пиксель будет иметь интенсивность от 0 до 255. Если изображение цветное (RGB), то цвета создаются из комбинации красного, зеленого и синего. Получается каждый пиксель изображения имеет три канала и представляется в виде вектора 1x3.Таким образом, изображение может быть представлено в виде матрицы значений пикселей.
📌 Здесь «фильтр» — это небольшая матрица чисел, которая применяется к части входных данных, обходя изображение полностью. Фильтр скользит по входным данным и в каждом месте выполняет скалярное произведение между собой и той частью входных данных, которую он в настоящее время покрывает.
✅ Фильтр повышения резкости можно разделить на два этапа: он берет сглаженное изображение, вычитает его из исходного изображения, чтобы получить «детали» изображения, и добавляет «детали» к исходному изображению.
💭 Друзья, приходилось ли вам когда-нибудь повышать резкость на своих фотокарточках? Думаю, лет 5 назад эта тема была особенно актуальна, так как у большинства смартфонов камеры были не столь чувствительны как сейчас.
🧐 Сталкиваясь с такой проблемой, мы обращаемся за помощью к встроенным функциям или программам, которые прорисовывают детали на наших картинках более четко. Чаще всего «под капотом» у таких программ находится архитектура свёрточных нейросетей.
👍 Сверточные нейросети состоят из нескольких слоев взаимосвязанных нейронов. Первый слой обычно применяет серию «фильтров» для извлечения важных функций из входного изображения. Именно с помощью применения фильтров входные изображения могут меняться в зависимости от вашего желания.
📌 Мы можем представить себе изображение, состоящее из отдельных пикселей, как функцию, где каждый пиксель имеет свое значение. Для изображения в градациях серого каждый пиксель будет иметь интенсивность от 0 до 255. Если изображение цветное (RGB), то цвета создаются из комбинации красного, зеленого и синего. Получается каждый пиксель изображения имеет три канала и представляется в виде вектора 1x3.Таким образом, изображение может быть представлено в виде матрицы значений пикселей.
📌 Здесь «фильтр» — это небольшая матрица чисел, которая применяется к части входных данных, обходя изображение полностью. Фильтр скользит по входным данным и в каждом месте выполняет скалярное произведение между собой и той частью входных данных, которую он в настоящее время покрывает.
✅ Фильтр повышения резкости можно разделить на два этапа: он берет сглаженное изображение, вычитает его из исходного изображения, чтобы получить «детали» изображения, и добавляет «детали» к исходному изображению.
❤12👍6🔥1
🎨 Как работают text2image модели?
Уже довольно долгое время вовсю гремят модели, генерирующие картинки по текстовому описанию. Этих потрясающих результатов они достигли благодаря такому методу как диффуззия.
🔢 Глобально обучение диффузионных моделей состоит из двух шагов:
⁃ Forward diffusion process: постепенно добавляем случайный шум в изображение до тех пор, пока от картинки не останется ничего, кроме зашумленных пикселей.
⁃ Reverse diffusion process: на этом шаге зашумленное изображение нужно "расшумить" - вернуть к своему начальному состоянию.
❗️В качестве базовой архитектуры для реализации этих шагов обычно используют U-Net и ее модификации. При этом сам процесс генерации можно эффективно реализовывать не для оригинальной размерности картинки, а для ее скрытого сжатого представления.
После обучения такая модель сможет генерировать новые изображения из случайного шума.
🔤 В text2image моделях для генерации изображений по тексту нам нужно подать на вход модели информацию из промпта (исходного текста). И здесь первым делом необходимо превратить слова на входе в их векторные представления, которые используются для генерации "направленного" шума - основы будущего изображения. Для гибкой обработки информации из промпта используется механизм внимания - Attention.
🖼 На сегодняшний день существует достаточно большое количество text2image моделей, в числе которых можно выделить Midjourney, недавно обновленную до пятой версии, а также модель Kandinsky 2.1, позволяющую генерировать картинки по русскоязычным текстам.
Уже довольно долгое время вовсю гремят модели, генерирующие картинки по текстовому описанию. Этих потрясающих результатов они достигли благодаря такому методу как диффуззия.
🔢 Глобально обучение диффузионных моделей состоит из двух шагов:
⁃ Forward diffusion process: постепенно добавляем случайный шум в изображение до тех пор, пока от картинки не останется ничего, кроме зашумленных пикселей.
⁃ Reverse diffusion process: на этом шаге зашумленное изображение нужно "расшумить" - вернуть к своему начальному состоянию.
❗️В качестве базовой архитектуры для реализации этих шагов обычно используют U-Net и ее модификации. При этом сам процесс генерации можно эффективно реализовывать не для оригинальной размерности картинки, а для ее скрытого сжатого представления.
После обучения такая модель сможет генерировать новые изображения из случайного шума.
🔤 В text2image моделях для генерации изображений по тексту нам нужно подать на вход модели информацию из промпта (исходного текста). И здесь первым делом необходимо превратить слова на входе в их векторные представления, которые используются для генерации "направленного" шума - основы будущего изображения. Для гибкой обработки информации из промпта используется механизм внимания - Attention.
🖼 На сегодняшний день существует достаточно большое количество text2image моделей, в числе которых можно выделить Midjourney, недавно обновленную до пятой версии, а также модель Kandinsky 2.1, позволяющую генерировать картинки по русскоязычным текстам.
👍8❤7👏5
🍅 Как стать сеньором помидором с нуля в DS?
Вопрос оч хороший, но в нем кроется очень много подвохов.
Неокрепшие умы студентов, которые ищут курс «как с нуля стать востребованным специалистом с 50-ю годами опыта», довольно сильно подвержены маркетинговым уловкам. Впоследствии это может сильно отразиться на мотивации, а также ударить по кошельку.
💭 Давайте представим, что есть обучающая программа «Как стать гендиректором» в ВУЗе/на курсах и где то там еще. Вас научили определенным инструментам, дали знания, эксперты поделились опытом. Гарантирует ли вам это работу гендиректором? Конечно, нет!
Senior/Lead и так далее - это не только про хардовую часть. Важную роль также играют soft-skills. В IT очень легко опереться на hard-скиллы, потому что есть понимание того, как их измерить. Все логично и понятно: знания ML, умение писать оптимальный код и так далее.
📌 Но за что ценятся специалисты от Senior и выше? За их реальный опыт (позитивный и обязательно негативный), за их набитые шишки, за то, что они могут взять на себя ответственность, за опыт, который они наработали в другой команде и знают, как с нуля построить подобный процесс. Причем они не только знают как, но еще и могут. Такой опыт получают на реальной работе.
Но возможно ли создать образовательную программу, которая бы всему этому учила? Может быть, когда-то это станет реальностью, но в этом нет смысла. Зачем мне учить кого-то на реальных данных, нанимать команду, под это пилить инфраструктуру, если я эти же проекты могу делать на аутсорс для других? Сама компания уже может на этом зарабатывать. И в итоге мы приходим к тому, с чего начинали, а именно - получение реального опыта в реальных компаниях. Палка о двух концах.
Очень хочется получить какую-то готовую инструкцию, которая приведет к успеху. Харды - это уже 50-70% успеха. Дело остается за малым - за софтами.
✅ По опыту работают всеми избитые уже навыки (берем среднее по больнице):
⁃ Коммуникабельность
⁃ Умение брать на себя ответственность
⁃ Настойчивость
⁃ Здоровый оптимизм
⁃ Эмпатия
⁃ Терпеливость
👉 Харды вам нужны обязательно. Развивайте также софты и будет вам счастье. О втором подвохе, который характерен для DS, расскажу в следующих постах.
Вопрос оч хороший, но в нем кроется очень много подвохов.
Неокрепшие умы студентов, которые ищут курс «как с нуля стать востребованным специалистом с 50-ю годами опыта», довольно сильно подвержены маркетинговым уловкам. Впоследствии это может сильно отразиться на мотивации, а также ударить по кошельку.
💭 Давайте представим, что есть обучающая программа «Как стать гендиректором» в ВУЗе/на курсах и где то там еще. Вас научили определенным инструментам, дали знания, эксперты поделились опытом. Гарантирует ли вам это работу гендиректором? Конечно, нет!
Senior/Lead и так далее - это не только про хардовую часть. Важную роль также играют soft-skills. В IT очень легко опереться на hard-скиллы, потому что есть понимание того, как их измерить. Все логично и понятно: знания ML, умение писать оптимальный код и так далее.
📌 Но за что ценятся специалисты от Senior и выше? За их реальный опыт (позитивный и обязательно негативный), за их набитые шишки, за то, что они могут взять на себя ответственность, за опыт, который они наработали в другой команде и знают, как с нуля построить подобный процесс. Причем они не только знают как, но еще и могут. Такой опыт получают на реальной работе.
Но возможно ли создать образовательную программу, которая бы всему этому учила? Может быть, когда-то это станет реальностью, но в этом нет смысла. Зачем мне учить кого-то на реальных данных, нанимать команду, под это пилить инфраструктуру, если я эти же проекты могу делать на аутсорс для других? Сама компания уже может на этом зарабатывать. И в итоге мы приходим к тому, с чего начинали, а именно - получение реального опыта в реальных компаниях. Палка о двух концах.
Очень хочется получить какую-то готовую инструкцию, которая приведет к успеху. Харды - это уже 50-70% успеха. Дело остается за малым - за софтами.
✅ По опыту работают всеми избитые уже навыки (берем среднее по больнице):
⁃ Коммуникабельность
⁃ Умение брать на себя ответственность
⁃ Настойчивость
⁃ Здоровый оптимизм
⁃ Эмпатия
⁃ Терпеливость
👉 Харды вам нужны обязательно. Развивайте также софты и будет вам счастье. О втором подвохе, который характерен для DS, расскажу в следующих постах.
❤🔥29🔥3👍2
👮🏻НАКРУТКА ОПЫТА В DS ⛔️
В настоящий момент довольно популярная тема на просторах IT ютуба. Зародилась она конечно же не вчера, а уже давно, и существовала она еще до того, как о данном способе прохождения собесов начали говорить так много.
🧐 Стоит ли накручивать опыт начинающим специалистам, которые только прошли обучение на DS, с целью попасть на собесы?
Мы поговорили об этом в новом ролике с Юлией Морозовой - экспертом в области подбора технических специалистов. Постарались рассмотреть данный способ не с точки зрения морали, а с точки зрения целесообразности и рисков, да и в целом поделились своим опытом, реально ли есть проблема «попасть на собес начинающему джуну».
И ДОПОЛНИТЕЛЬНО, разобрали все возможные ошибки при поиске работы. Иногда кажется, что вот вас умного и хорошего не берут на собесы, а пет-проект то крутой, питончик знаете на ура, что не так? Что происходит?
Думаю, что вы сможете много подчерпнуть для себя из этого видео, поработать над ошибками и наконец попасть в компанию своей мечты на достойную позицию и ЗП!) Надеюсь, что этот ролик в чем-то станет настольной книгой при поиске работы начинающим специалистам 🫶
https://youtu.be/fA7FHj7wbss
В настоящий момент довольно популярная тема на просторах IT ютуба. Зародилась она конечно же не вчера, а уже давно, и существовала она еще до того, как о данном способе прохождения собесов начали говорить так много.
🧐 Стоит ли накручивать опыт начинающим специалистам, которые только прошли обучение на DS, с целью попасть на собесы?
Мы поговорили об этом в новом ролике с Юлией Морозовой - экспертом в области подбора технических специалистов. Постарались рассмотреть данный способ не с точки зрения морали, а с точки зрения целесообразности и рисков, да и в целом поделились своим опытом, реально ли есть проблема «попасть на собес начинающему джуну».
И ДОПОЛНИТЕЛЬНО, разобрали все возможные ошибки при поиске работы. Иногда кажется, что вот вас умного и хорошего не берут на собесы, а пет-проект то крутой, питончик знаете на ура, что не так? Что происходит?
Думаю, что вы сможете много подчерпнуть для себя из этого видео, поработать над ошибками и наконец попасть в компанию своей мечты на достойную позицию и ЗП!) Надеюсь, что этот ролик в чем-то станет настольной книгой при поиске работы начинающим специалистам 🫶
https://youtu.be/fA7FHj7wbss
👍25🔥5❤2😁1
📝 ВАЖНАЯ ЗАМЕТКА НАЧИНАЮЩИМ СПЕЦИАЛИСТАМ
Друзья, сегодня не будет нового сложного контента, пятница все-таки. Хочу зафиксировать здесь одну важную мысль, про которую часто забывают (или не придают значение начинающие специалисты).
Давайте сразу к делу. Допустим вам необходимо внедрить новое бизнес-правило в уже работающую модель или написать кусочек нового функционала. Не нужно сразу бросаться в огонь и писать код с нуля!
✅ Что нужно сделать:
- Изучить репозиторий, где находится модель. Просмотреть несколько файлов с кодом, конфигурационных файлов…
- Отметить для себя общий стиль написания кода в этом репозитории. Какие структуры данных используются, как обращаются с библиотеками, в какой последовательности запускаются методы и так далее.
- Возможно даже найти части кода, которые помогут вам решить поставленную задачу.
- И еще! Часто одна команда работает над различными задачами, поэтому репозиториев может быть больше, чем один. Попросите к ним доступы, просмотрите как пишется код там.
Вообще читать чужой код очень полезный навык. Много нового можно для себя подчерпнуть. Не пугайтесь, что сначала будет трудно. Здесь важна практика.
📌 P.S. А еще можно зайти в закрытые мерж реквесты и почитать замечания к коду, которые получали другие разработчики, и не повторять их ошибок)
Друзья, сегодня не будет нового сложного контента, пятница все-таки. Хочу зафиксировать здесь одну важную мысль, про которую часто забывают (или не придают значение начинающие специалисты).
Давайте сразу к делу. Допустим вам необходимо внедрить новое бизнес-правило в уже работающую модель или написать кусочек нового функционала. Не нужно сразу бросаться в огонь и писать код с нуля!
✅ Что нужно сделать:
- Изучить репозиторий, где находится модель. Просмотреть несколько файлов с кодом, конфигурационных файлов…
- Отметить для себя общий стиль написания кода в этом репозитории. Какие структуры данных используются, как обращаются с библиотеками, в какой последовательности запускаются методы и так далее.
- Возможно даже найти части кода, которые помогут вам решить поставленную задачу.
- И еще! Часто одна команда работает над различными задачами, поэтому репозиториев может быть больше, чем один. Попросите к ним доступы, просмотрите как пишется код там.
Вообще читать чужой код очень полезный навык. Много нового можно для себя подчерпнуть. Не пугайтесь, что сначала будет трудно. Здесь важна практика.
📌 P.S. А еще можно зайти в закрытые мерж реквесты и почитать замечания к коду, которые получали другие разработчики, и не повторять их ошибок)
👍27❤3😁1
📈 Эволюция GPT моделей от GPT-1 до ChatGPT
24 апреля Сбер объявил о выходе модели GigaChat - русской версии ChatGPT, способной генерировать тексты, картинки и решать разнообразные задачи.
На фоне подобных новостей кажется, что внезапно произошел скачок, приблизивший нас к появлению сильного искусственного интеллекта, однако развитие больших языковых моделей (Large Language Models) происходило более поступательно. Давайте кратко пробежимся по основным вехам эволюции таких моделей.
✅ Для начала стоит сказать, что все языковые модели глобально решают одну задачу - предсказание следующего слова. Сама аббревиатура GPT расшифровывается как Generative Pretrained Transformer - генеративный предобученный трансформер. GPT-1 - первая из этой серии, появилась в 2018-ом году и представляла собой двенадцатислойную модель со 117 миллионами обучаемых параметров. Такое огромное, по меркам того времени, количество параметров позволило модели добиться SOTA-качества в 9 из 12 задач при тестировании по сравнению с моделями, специально натренированными на соответствующие задачи.
✅ Следующим скачком стал выход в 2019-ом году модели GPT-2. Для ее обучения был собран набор данных объемом 40 гигабайт, тогда как GPT-1 училась на гораздо более скромном датасете из книг. Кроме того, по сравнению с первой моделью, исследователи увеличили число параметров в 10 раз - до 1.5 миллиардов. Безусловно, такие изменения не могли не отразиться на качестве модели: она снова достигла SOTA-качества во множестве задач на различных языках, научилась писать длинные эссе, переводить тексты и решать простые задачки.
✅ В 2020-ом году пришло время GPT-3. Для ее обучения набор данных увеличили до 420 гигабайт, в которые вошли статьи из Википедии, несколько книжных корпусов, а также тексты из интернета. При этом количество параметров модели и вовсе увеличилось до 175 миллиардов. GPT-3 снова показала SOTA-качество в различных NLP задачах, таких как Question Answering, машинный перевод, языковое моделирование, продемонстрировала понимание арифметики, способность решать логические задачи, программировать и многое другое.
✅ Обычно, когда мы имеем дело с языковыми моделями, обученными на огромных датасетах, неизбежно приходится сталкиваться с токсичными сгенерированными ответами или просто ложными фактами. Однако в 2022-ом году компания OpenAI заявила, что ей удалось сделать модель на на базе GPT-3, ответы которой более корректны и правдоподобны. Для этого поверх обученной GPT-3 применялось обучение с подкреплением на основе отзывов людей (RLHF), чтобы дать модели понять, какой ответ для человека является более предпочтительным. Эту обновленную модель назвали InstructGPT.
✅ И уже в ноябре 2022-го года вышла всем известная ChatGPT. Технических деталей про нее известно не так много, но удобный интерфейс позволил значительно облегчить ее использование для всех, вне зависимости от технических навыков, что, вероятно, подогрело интерес широкой публики.
✅ Также стоит остановиться на уже упомянутом GigaChat - эта модель, в отличие от ChatGPT представляет собой целый ансамбль нейросетевых моделей, объединенных в одном интерфейсе. В качестве базовой языковой модели была взята ruGPT-3, которую дообучали, в том числе на данных в инструктивной форме. Вполне возможно, что для русскоязычных данных эта модель будет показывать качество сопоставимое с ChatGPT.
24 апреля Сбер объявил о выходе модели GigaChat - русской версии ChatGPT, способной генерировать тексты, картинки и решать разнообразные задачи.
На фоне подобных новостей кажется, что внезапно произошел скачок, приблизивший нас к появлению сильного искусственного интеллекта, однако развитие больших языковых моделей (Large Language Models) происходило более поступательно. Давайте кратко пробежимся по основным вехам эволюции таких моделей.
✅ Для начала стоит сказать, что все языковые модели глобально решают одну задачу - предсказание следующего слова. Сама аббревиатура GPT расшифровывается как Generative Pretrained Transformer - генеративный предобученный трансформер. GPT-1 - первая из этой серии, появилась в 2018-ом году и представляла собой двенадцатислойную модель со 117 миллионами обучаемых параметров. Такое огромное, по меркам того времени, количество параметров позволило модели добиться SOTA-качества в 9 из 12 задач при тестировании по сравнению с моделями, специально натренированными на соответствующие задачи.
✅ Следующим скачком стал выход в 2019-ом году модели GPT-2. Для ее обучения был собран набор данных объемом 40 гигабайт, тогда как GPT-1 училась на гораздо более скромном датасете из книг. Кроме того, по сравнению с первой моделью, исследователи увеличили число параметров в 10 раз - до 1.5 миллиардов. Безусловно, такие изменения не могли не отразиться на качестве модели: она снова достигла SOTA-качества во множестве задач на различных языках, научилась писать длинные эссе, переводить тексты и решать простые задачки.
✅ В 2020-ом году пришло время GPT-3. Для ее обучения набор данных увеличили до 420 гигабайт, в которые вошли статьи из Википедии, несколько книжных корпусов, а также тексты из интернета. При этом количество параметров модели и вовсе увеличилось до 175 миллиардов. GPT-3 снова показала SOTA-качество в различных NLP задачах, таких как Question Answering, машинный перевод, языковое моделирование, продемонстрировала понимание арифметики, способность решать логические задачи, программировать и многое другое.
✅ Обычно, когда мы имеем дело с языковыми моделями, обученными на огромных датасетах, неизбежно приходится сталкиваться с токсичными сгенерированными ответами или просто ложными фактами. Однако в 2022-ом году компания OpenAI заявила, что ей удалось сделать модель на на базе GPT-3, ответы которой более корректны и правдоподобны. Для этого поверх обученной GPT-3 применялось обучение с подкреплением на основе отзывов людей (RLHF), чтобы дать модели понять, какой ответ для человека является более предпочтительным. Эту обновленную модель назвали InstructGPT.
✅ И уже в ноябре 2022-го года вышла всем известная ChatGPT. Технических деталей про нее известно не так много, но удобный интерфейс позволил значительно облегчить ее использование для всех, вне зависимости от технических навыков, что, вероятно, подогрело интерес широкой публики.
✅ Также стоит остановиться на уже упомянутом GigaChat - эта модель, в отличие от ChatGPT представляет собой целый ансамбль нейросетевых моделей, объединенных в одном интерфейсе. В качестве базовой языковой модели была взята ruGPT-3, которую дообучали, в том числе на данных в инструктивной форме. Вполне возможно, что для русскоязычных данных эта модель будет показывать качество сопоставимое с ChatGPT.
🔥15👍6👌2
🍅 Как стать сеньором помидором с нуля / продолжение
Мне показалось не очень корректным посвящать такой теме еще небольшой пост, поэтому я удосужилась снять отдельное видео.
В прошлом посте мы поговорили о курсах, которые помогут вам стать суперменом/гендиректором/senior, об этом также вскользь упомянула в видео, ведь не все читают мои посты в телеграмм, а надо бы))
Есть еще одна важная деталь. В Data Science есть несколько областей NLP, CV, RecSys, кто-то больше начинает специализироваться на A/B тестировании, RL, а есть еще и MLOps и так далее. И в каждой из этих областей бездна и голубой океан, многие направления еще предстоит открыть.
Мне сложно представить человека, который был бы супер специалист абсолютно во всех областях, возможно, есть такие, давайте не исключать такую вероятность, но она очень и очень мала.
Поэтому хочется спросить, специалист в чем? Обратите внимание на вакансии для опытных специалистов, обычно всегда присылают даже к названию вакансии NLP/CV ….
Сложно представить DS, который специализируется на A/B тестировании, как он успешно проходит собес в команду, где занимаются Self-driving car, а команде нужен человек именно с опытом например в распознании объектов, обработке инфо с датчиков и все что связано с CV, но не с A/B тестированием.
Специалист то может он и неплохой, но не во всем и везде, и это нормально.
https://youtu.be/QmqgPAP0Osw
Мне показалось не очень корректным посвящать такой теме еще небольшой пост, поэтому я удосужилась снять отдельное видео.
В прошлом посте мы поговорили о курсах, которые помогут вам стать суперменом/гендиректором/senior, об этом также вскользь упомянула в видео, ведь не все читают мои посты в телеграмм, а надо бы))
Есть еще одна важная деталь. В Data Science есть несколько областей NLP, CV, RecSys, кто-то больше начинает специализироваться на A/B тестировании, RL, а есть еще и MLOps и так далее. И в каждой из этих областей бездна и голубой океан, многие направления еще предстоит открыть.
Мне сложно представить человека, который был бы супер специалист абсолютно во всех областях, возможно, есть такие, давайте не исключать такую вероятность, но она очень и очень мала.
Поэтому хочется спросить, специалист в чем? Обратите внимание на вакансии для опытных специалистов, обычно всегда присылают даже к названию вакансии NLP/CV ….
Сложно представить DS, который специализируется на A/B тестировании, как он успешно проходит собес в команду, где занимаются Self-driving car, а команде нужен человек именно с опытом например в распознании объектов, обработке инфо с датчиков и все что связано с CV, но не с A/B тестированием.
Специалист то может он и неплохой, но не во всем и везде, и это нормально.
https://youtu.be/QmqgPAP0Osw
YouTube
Как стать Senior Data Scientist с НУЛЯ? С чего начать обучение?
Школа Data Science https://pymagic.ru
Пост про сеньора помидора с нуля в telegram https://t.iss.one/pymagic/428
00:00 Кто такой Senior Data Scientist? За что ценится Senior?
01:26 Существуют ли курсы как стать Middle/Senior/Lead с нуля?
03:18 Почему важно выбирать…
Пост про сеньора помидора с нуля в telegram https://t.iss.one/pymagic/428
00:00 Кто такой Senior Data Scientist? За что ценится Senior?
01:26 Существуют ли курсы как стать Middle/Senior/Lead с нуля?
03:18 Почему важно выбирать…
👍42❤6🤩1
Еще больше ИТ контента и на любой вкус и цвет 👌
У нас есть прекрасное сообщество ityoutubers, где вы можете найти подходящий контент для себя почти по любому языку программирования, направлению ИТ, или можете просто посмотреть интервью с известными ребятами из айтишки https://t.iss.one/addlist/3C6r62d43SZmYWJi
Есть агрегатор ежедневных ИТ-новостей из разных телеграмм каналов https://t.iss.one/ityoutubers_com
У нас есть прекрасное сообщество ityoutubers, где вы можете найти подходящий контент для себя почти по любому языку программирования, направлению ИТ, или можете просто посмотреть интервью с известными ребятами из айтишки https://t.iss.one/addlist/3C6r62d43SZmYWJi
Есть агрегатор ежедневных ИТ-новостей из разных телеграмм каналов https://t.iss.one/ityoutubers_com
Telegram
IT YouTubers
You’ve been invited to add the folder “IT YouTubers”, which includes 51 chats.
👍10🤯4
ЗАЧЕМ В НЕЙРОННЫХ СЕТЯХ НУЖНЫ НЕЛИНЕЙНОСТИ?
Друзья, давайте сегодня поговорим про нелинейность в нейросетях. И обсудим достаточно важный вопрос, ответ на который нужно хорошо понимать.
👁️🗨️ Перейдем сразу к рассуждению. Нелинейность достигается за счет использования функций активации в нейронах сети. Функция активации — это нелинейная функция, которая применяется к выходу каждого нейрона, что позволяет сети фиксировать нелинейные отношения между входами и выходами. Обратите внимание на иллюстрацию.
✏️ Примером функции активации может быть сигмоидальная функция (или сигмоида), которая принимает входное значение и сжимает его в диапазоне от 0 до 1. Но чаще всего применяется ReLU (Rectified Linear Unit) или Leaky ReLU, где если входное значение больше 0, выходное значение будет таким же, как и входное значение. Однако, если входное значение меньше или равно 0, выходное значение будет равно 0.
👌 Нелинейность позволяет нейросети моделировать сложные отношения между входными и выходными данными. Другими словами, позволяет моделировать паттерны, которые нельзя выразить в виде простой линейной функции.
✅ Таким образом, даже если мы накручиваем в модели несколько линейных слоев, то на выходе мы получим комбинацию линейных признаков. Соответственно, набор линейных слоев ничем не лучше одного линейного слоя. С добавлением слоев мы будем получать линейную модель над линейными моделями. А наша задача - не ограничивать модель линейными взаимосвязями.
Друзья, давайте сегодня поговорим про нелинейность в нейросетях. И обсудим достаточно важный вопрос, ответ на который нужно хорошо понимать.
👁️🗨️ Перейдем сразу к рассуждению. Нелинейность достигается за счет использования функций активации в нейронах сети. Функция активации — это нелинейная функция, которая применяется к выходу каждого нейрона, что позволяет сети фиксировать нелинейные отношения между входами и выходами. Обратите внимание на иллюстрацию.
✏️ Примером функции активации может быть сигмоидальная функция (или сигмоида), которая принимает входное значение и сжимает его в диапазоне от 0 до 1. Но чаще всего применяется ReLU (Rectified Linear Unit) или Leaky ReLU, где если входное значение больше 0, выходное значение будет таким же, как и входное значение. Однако, если входное значение меньше или равно 0, выходное значение будет равно 0.
👌 Нелинейность позволяет нейросети моделировать сложные отношения между входными и выходными данными. Другими словами, позволяет моделировать паттерны, которые нельзя выразить в виде простой линейной функции.
✅ Таким образом, даже если мы накручиваем в модели несколько линейных слоев, то на выходе мы получим комбинацию линейных признаков. Соответственно, набор линейных слоев ничем не лучше одного линейного слоя. С добавлением слоев мы будем получать линейную модель над линейными моделями. А наша задача - не ограничивать модель линейными взаимосвязями.
👍27😍2