Forwarded from Kapitsa.AI
Как работает квантованная версия (4 бита) LLaMa3.1-8b
Для тех, кто хочет разобраться в LLAma 3.1-8b глубже — короткий обзор структуры.
Эта языковая модель работает по принципам трансформерных архитектур, о которых мы рассказывали ранее (тут — про языковое моделирование, а тут — про LLaMa). В LLaMA используется декодер-ориентированная трансформерная модель для предсказания следующего токена в последовательности. Что еще:
Механизм внимания (Self-attention): он позволяет модели эффективно обрабатывать длинные последовательности текста, фокусируясь на самых релевантных частях входного текста при предсказании следующего слова.
Распределённые представления (Embeddings): Каждый входной токен (слово или символ) преобразуется в векторное представление через embedding-слой. Эти векторы содержат информацию о контексте и значении слова, что помогает модели строить более точные прогнозы.
Число параметров модели — это показатель её мощности. Параметры — это веса, которые оптимизируются в процессе обучения. Чем больше параметров, тем более сложные паттерны и зависимости может выявить модель, что улучшает её способность генерировать контекстно точные и осмысленные тексты. В нашем случае — это 8 млрд параметров.
Обучение модели
LLaMA 3.1-8B обучена на огромных корпусах текстов, включающих разнообразные источники информации — книги, статьи, форумы, веб-страницы и т. д. Обучение происходит на основе задачи предсказания следующего слова в предложении (Language Modeling). Модель обрабатывает текст последовательно и на каждом шаге предсказывает следующий токен, используя контекст предыдущих слов.
Используется параллельное обучение — для оптимизации производительности: веса перераспределены между несколькими видеокартами. Как в примере на картинке — 16 видеокарт разбиты на две группы по каждому из четырех признаков. Задействовано четыре вида параллелизма:
— Тензорный параллелизм (разбивает веса слоя нейросети на порции для разных устройств)
— Параллелизм пайплайна (вертикальная разбивка модели по слоям)
— Параллелизм контекста (разделение входа на сегменты для уменьшения перегрузки памяти для длинных последовательностей)
— Параллелизм данных (разные обучающие примеры обсчитываются на разных устройствах)
Трёхстадийное пред-обучение
Претрейн – последовательно увеличивается длина последовательности (4к, 8к) и размер батча (части датасета, проходящего через нейросеть), в обучающие данные добавляется больше мультиязычных данных, математические данные используются с увеличенной частотой, добавляются последние данные из поисковых запросов, частота низкокачественных данных снижается.
Претрейн на длинном контексте – до 128к токенов. Последовательно увеличивается длина контекста. Обучение с фиксированной длиной происходит до тех пор, пока не восстанавливается качество на коротких контекстах и модель способна решить задачу «поиска иголки в стоге сена» для заданного контекста.
Запекание\отжиг (annealing) – последовательное уменьшение learning rate для длинного контекста с последующим усреднением нескольких моделей.
Постобучение
В процессе пост-обучения происходит шесть итераций. На каждой итерации выбираются аннотированные данные (из тройки Отвергнутый Ответ – Принятый Ответ – Улучшенный ответ), на которых обучается Учитель (Reward Model). Затем происходит SFT (Supervised Finetuning – донастройка модели с учителем). После этого производится DPO (Direct Preference Optimization). И наконец, полученные таким образом модели с разных итераций взвешиваются между собой.
#десятилетиенауки #МинобрнаукиРоссии #популяризациянауки #KapitsaAI
Для тех, кто хочет разобраться в LLAma 3.1-8b глубже — короткий обзор структуры.
Эта языковая модель работает по принципам трансформерных архитектур, о которых мы рассказывали ранее (тут — про языковое моделирование, а тут — про LLaMa). В LLaMA используется декодер-ориентированная трансформерная модель для предсказания следующего токена в последовательности. Что еще:
Механизм внимания (Self-attention): он позволяет модели эффективно обрабатывать длинные последовательности текста, фокусируясь на самых релевантных частях входного текста при предсказании следующего слова.
Распределённые представления (Embeddings): Каждый входной токен (слово или символ) преобразуется в векторное представление через embedding-слой. Эти векторы содержат информацию о контексте и значении слова, что помогает модели строить более точные прогнозы.
Число параметров модели — это показатель её мощности. Параметры — это веса, которые оптимизируются в процессе обучения. Чем больше параметров, тем более сложные паттерны и зависимости может выявить модель, что улучшает её способность генерировать контекстно точные и осмысленные тексты. В нашем случае — это 8 млрд параметров.
Обучение модели
LLaMA 3.1-8B обучена на огромных корпусах текстов, включающих разнообразные источники информации — книги, статьи, форумы, веб-страницы и т. д. Обучение происходит на основе задачи предсказания следующего слова в предложении (Language Modeling). Модель обрабатывает текст последовательно и на каждом шаге предсказывает следующий токен, используя контекст предыдущих слов.
Используется параллельное обучение — для оптимизации производительности: веса перераспределены между несколькими видеокартами. Как в примере на картинке — 16 видеокарт разбиты на две группы по каждому из четырех признаков. Задействовано четыре вида параллелизма:
— Тензорный параллелизм (разбивает веса слоя нейросети на порции для разных устройств)
— Параллелизм пайплайна (вертикальная разбивка модели по слоям)
— Параллелизм контекста (разделение входа на сегменты для уменьшения перегрузки памяти для длинных последовательностей)
— Параллелизм данных (разные обучающие примеры обсчитываются на разных устройствах)
Трёхстадийное пред-обучение
Претрейн – последовательно увеличивается длина последовательности (4к, 8к) и размер батча (части датасета, проходящего через нейросеть), в обучающие данные добавляется больше мультиязычных данных, математические данные используются с увеличенной частотой, добавляются последние данные из поисковых запросов, частота низкокачественных данных снижается.
Претрейн на длинном контексте – до 128к токенов. Последовательно увеличивается длина контекста. Обучение с фиксированной длиной происходит до тех пор, пока не восстанавливается качество на коротких контекстах и модель способна решить задачу «поиска иголки в стоге сена» для заданного контекста.
Запекание\отжиг (annealing) – последовательное уменьшение learning rate для длинного контекста с последующим усреднением нескольких моделей.
Постобучение
В процессе пост-обучения происходит шесть итераций. На каждой итерации выбираются аннотированные данные (из тройки Отвергнутый Ответ – Принятый Ответ – Улучшенный ответ), на которых обучается Учитель (Reward Model). Затем происходит SFT (Supervised Finetuning – донастройка модели с учителем). После этого производится DPO (Direct Preference Optimization). И наконец, полученные таким образом модели с разных итераций взвешиваются между собой.
#десятилетиенауки #МинобрнаукиРоссии #популяризациянауки #KapitsaAI
Forwarded from Заскуль питона (Data Science)
This media is not supported in your browser
VIEW IN TELEGRAM
Градиентный спуск (ч. 1)
😔 Всем привет! Сегодня я бы хотел вам рассказать про то, что такое градиентный спуск и вообще для чего он применяется, в каких направлениях и для чего. Градиент отражает направление скорейшего возрастания функции
💳 Начнем с линейной ргерессии, для тех кто не помнит / не знает, уравнение прямой задается yi = wi * xi, где yi - значение целевого признака. Это конечно замечательно, но истинные значения (если мы живем в непрерывном пространстве будут всегда различаться от предсказанных (какая-то ошибка возникнет).
🍦 Решение задачи - минимизировать ошибки, возникаемые при изучении модели. Но как мы это можем сделать, если у нас xi, yi заданы? Правильно, повлиять как-то на веса признаков. Для линейной регрессии обычно используется такая функция потерь, как MSE, которую мы хотим минимизировать. Градиентный спуск позволяет найти веса модели, при которых ошибка будет минимальна (осторожно, модель может найти локальный / глобальный минимум). Мы хотим понять, при каких значения wi наше значение ошибки будет минимально. Почему берется MSE, могу рассказать в следующих частях
👌 У градиентного спуска есть 3 параметра:
1) начальная точка, в нашем контексте - это вектор весов признаков (выбираются случайно)
2) количество итераций, мы определяем заранее сколько итеративно нам нужно пройтись, чтобы прийти к точке, близкой к минимуму
3) коэффициент скорости обучения (Learning Rate). Если мы будем выбирать слишком маленький шаг, то можем за ограниченное количество итераций не прийти в точку минимума (функции потерь в нашем случае), а если Learning Rate будет слишком большим, то мы можем перепрыгнуть точку минимума.
4*) количество эпох и размер батчей - это используется для стохастического градиентного спуска.
в общем виде:
Это позволит нам найти минимум функции итерационно, в нашем контексте - функции потерь.
Игрушечный пример с градиентным спуском.
В этом примере minimum = argmin(x), т.е. точка в которой достигается минимум функции, а соответствующее значение можно найти, если подставить значения в loss_function(minimum).
Эта техника применяется в различных моделях машинного обучения, в нейронных сетях и др., о чем я более подробно хочу написать в следующих постах.
Где можно почитать подробней?
Учебник Яндекса (с формулками)
Статья на Хабр
Презентация от Александра Дьяконова
Если хотите больше постов, связанных с ML или около того, ставьте реакции, пишите комментарии!
1) начальная точка, в нашем контексте - это вектор весов признаков (выбираются случайно)
2) количество итераций, мы определяем заранее сколько итеративно нам нужно пройтись, чтобы прийти к точке, близкой к минимуму
3) коэффициент скорости обучения (Learning Rate). Если мы будем выбирать слишком маленький шаг, то можем за ограниченное количество итераций не прийти в точку минимума (функции потерь в нашем случае), а если Learning Rate будет слишком большим, то мы можем перепрыгнуть точку минимума.
4*) количество эпох и размер батчей - это используется для стохастического градиентного спуска.
в общем виде:
start_point = i
iterations = n
learning_rate = t
for _ in range(iterations):
start_point -= t * gradient(x)
start_point, func(start_point)
Это позволит нам найти минимум функции итерационно, в нашем контексте - функции потерь.
Игрушечный пример с градиентным спуском.
import numpy as np
def loss_function(x):
return x ** 2 * np.sin(x)
def gradient(x):
return 2 * x * np.sin(x) + x**2 * np.cos(x)
def gradient_descent(starting_point, learning_rate, num_iterations):
x = starting_point
for _ in range(num_iterations):
x -= learning_rate * gradient(x)
return x
starting_point = 3 # Начальная точка, выбирается случайно
learning_rate = 0.01 # Скорость обучения
num_iterations = 100 # Количество итераций
minimum = gradient_descent(starting_point, learning_rate, num_iterations)
В этом примере minimum = argmin(x), т.е. точка в которой достигается минимум функции, а соответствующее значение можно найти, если подставить значения в loss_function(minimum).
Эта техника применяется в различных моделях машинного обучения, в нейронных сетях и др., о чем я более подробно хочу написать в следующих постах.
Где можно почитать подробней?
Учебник Яндекса (с формулками)
Статья на Хабр
Презентация от Александра Дьяконова
Если хотите больше постов, связанных с ML или около того, ставьте реакции, пишите комментарии!
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from Kali Novskaya
🌸FAANG собеседования. Behavioral 🌸
#собеседования
За последние года два я пособесилась в десяток компаний с сильным ML, и где-то ещё десяток не очень AI-native.
🌸Мой опыт
Прошла до конца в Meta, Snapchat, Spotify, HuggingFace, несколько стартапов.
Этот опыт был для меня совсем не лёгким, часто изнуряющим, но позволил мне лучше понять свои силы и научил объективно сравнивать себя с другими и закрывать пробелы. Делюсь с вами советами!
Собеседовалась и на менеджера, и на IC, поэтому за это время у меня были все секции:
ML fundamentals, Leetcode, ML Coding, ML home assignment, ML system design, просто System Design, Research Philisophy (что? да!), Research presentation, Leadership, Teamwork, People management, Project management.
Поскольку про тех собесы написано уже очень много, сегодня сосредоточусь на последних — они называются behavioral секции.
🌸Основы Behave
Чтобы пройти хорошо бихейв-интервью,нужно хорошо себя вести. Нет, не нужно! Нужно продемонстрировать поведение, соответствующее уровню вакансии (L4, L5, L6...) и принципам компании.
Leadership principles:
— Google
— Meta
— Amazon
(гуглите про свою компанию)
Сделать это все нужно, рассказывая истории в формате STAR — Situation, Task, Action, Results. Хороший пост на тему
🌸Как рассказывать про свой опыт?
Западному айти-рынку 20+ лет, все стандартизовано.
Вам надо иметь в запасе штук 6-8 историй из своего опыта.
— Истории должны покрывать следующие вопросы: 1-2 явных истории успеха, 1-2 явных истории неудачи, 1 случай где вы спасли всех, 1 случай где вы разрулили конфликт, пара примеров, как вы растили коллег вокруг себя. Для менеджеров дополнительно — как вы повышали и увольняли людей, как вы поддерживали команду, ваш стиль управления.
— Истории должны показывать ваш уровень, не надо брать истории, когда вы были мидлом, если вы собеситесь на сеньора. Максимальный импакт, масштаб, метрики.
— Хорошая привычка в карьере вообще — отслеживать импакт своей работы и знать его. То же справедливо и для резюме, по резюме должно быть видно, что и насколько было исправлено вами.
— Придумывать истории не надо. В каждой истории нужно показать, что вы можете доносить мысль и навигировать на разных уровнях дискуссии — и быстро объяснить, в чем суть, и в то же время в деталях прокомментировать технический челлендж. Человек, который не может — либо не участвовал в проекте на самом деле, либо врёт, либо плохой менеджер.
🟣 Хороший пример, как это делать, и вообще youtube канал
🟣 Хороший канал с примерами STAR — self made millenial
🟣 В какой-то момент мне нужна была поддержка и хотелось мок-интервью, я брала их здесь и мне помогло. Брать карьерные консультации — осмысленно!
🌸Джентльменский набор
Итого, перед собеседованием у вас должно получиться в результате:
0) понимание уровня позиции и принципов компании.
1) Отточенное интро про себя из 3 предложений. Что вы делаете, пара ключевых тем и проектов, и почему вы хотите и подходите на эту позицию.
2) STAR-шпаргалка из ваших историй, которую вы за час до интервью перечитаете, чтобы не забыть детали. Истории вы на лету будете немного менять, чтобы подсветить конкретные принципы компании.
3) Список из 3 статей, которые вы хорошо помните и готовы поболтать про них. Желательно посмотреть накануне, кто вас будет собеседовать, и попробовать найти пересечение вашего опыта и опыта интервьюера.
🌸Вуаля! Вы восхитительны
В след раз поговорим про офферы и про реферралы
#собеседования
За последние года два я пособесилась в десяток компаний с сильным ML, и где-то ещё десяток не очень AI-native.
🌸Мой опыт
Прошла до конца в Meta, Snapchat, Spotify, HuggingFace, несколько стартапов.
Этот опыт был для меня совсем не лёгким, часто изнуряющим, но позволил мне лучше понять свои силы и научил объективно сравнивать себя с другими и закрывать пробелы. Делюсь с вами советами!
Собеседовалась и на менеджера, и на IC, поэтому за это время у меня были все секции:
ML fundamentals, Leetcode, ML Coding, ML home assignment, ML system design, просто System Design, Research Philisophy (что? да!), Research presentation, Leadership, Teamwork, People management, Project management.
Поскольку про тех собесы написано уже очень много, сегодня сосредоточусь на последних — они называются behavioral секции.
🌸Основы Behave
Чтобы пройти хорошо бихейв-интервью,
Leadership principles:
— Meta
— Amazon
(гуглите про свою компанию)
Сделать это все нужно, рассказывая истории в формате STAR — Situation, Task, Action, Results. Хороший пост на тему
🌸Как рассказывать про свой опыт?
Западному айти-рынку 20+ лет, все стандартизовано.
Вам надо иметь в запасе штук 6-8 историй из своего опыта.
— Истории должны покрывать следующие вопросы: 1-2 явных истории успеха, 1-2 явных истории неудачи, 1 случай где вы спасли всех, 1 случай где вы разрулили конфликт, пара примеров, как вы растили коллег вокруг себя. Для менеджеров дополнительно — как вы повышали и увольняли людей, как вы поддерживали команду, ваш стиль управления.
— Истории должны показывать ваш уровень, не надо брать истории, когда вы были мидлом, если вы собеситесь на сеньора. Максимальный импакт, масштаб, метрики.
— Хорошая привычка в карьере вообще — отслеживать импакт своей работы и знать его. То же справедливо и для резюме, по резюме должно быть видно, что и насколько было исправлено вами.
— Придумывать истории не надо. В каждой истории нужно показать, что вы можете доносить мысль и навигировать на разных уровнях дискуссии — и быстро объяснить, в чем суть, и в то же время в деталях прокомментировать технический челлендж. Человек, который не может — либо не участвовал в проекте на самом деле, либо врёт, либо плохой менеджер.
🌸Джентльменский набор
Итого, перед собеседованием у вас должно получиться в результате:
0) понимание уровня позиции и принципов компании.
1) Отточенное интро про себя из 3 предложений. Что вы делаете, пара ключевых тем и проектов, и почему вы хотите и подходите на эту позицию.
2) STAR-шпаргалка из ваших историй, которую вы за час до интервью перечитаете, чтобы не забыть детали. Истории вы на лету будете немного менять, чтобы подсветить конкретные принципы компании.
3) Список из 3 статей, которые вы хорошо помните и готовы поболтать про них. Желательно посмотреть накануне, кто вас будет собеседовать, и попробовать найти пересечение вашего опыта и опыта интервьюера.
🌸Вуаля! Вы восхитительны
В след раз поговорим про офферы и про реферралы
Please open Telegram to view this post
VIEW IN TELEGRAM
www.developing.dev
FAANG Career Ladder: Junior (L3) vs Mid-level (L4)
L3 and L4 engineers are the most similar on the IC ladder. The differences come from the stronger technical skills L4s are expected to have. This allows them to handle more scope with less guidance. Here’s how FAANG-like companies judge L3 vs L4 engineers.
Forwarded from Варим МЛ
Всем привет! Меня не было больше месяца - сгонял в длинный отпуск, потом заболел, выздоровел и опять заболел... Но времени я зря не терял и прочёл несколько книжек по LLM. Сегодня хочу кратко про них рассказать, а заодно упомянуть и другие материалы, по которым я осваивал большие языковые модельки. Наверняка, пропустил что-то крутое, для меня это достаточно новый мир, так что делитесь своими ссылками в комментариях.
Рад снова быть с вами 😀
#Жека #machinelearning #llm
Рад снова быть с вами 😀
#Жека #machinelearning #llm
Telegraph
Изучаю LLM
Раньше я следил за миром LLM больше из любопытства - почитывал ключевые и заинтересовавшие статейки, игрался со свежими модельками, читал срачи в Твиттере. Сейчас по работе понадобилось серьёзнее углубиться в эту пропасть, поэтому я как настоящий 32-летний…
Forwarded from Artem Ryblov
Материалы по LLM и трансформерам: https://github.com/Extremesarova/ds_resources?tab=readme-ov-file#large-language-models-llms--transformers
GitHub
GitHub - Extremesarova/ds_resources: Data Science Resources for interview preparation and learning
Data Science Resources for interview preparation and learning - Extremesarova/ds_resources
Forwarded from Варим МЛ Chat (Жека)
звучит как будто нужно начанковать книжку на какие-то разумные куски и прикрутить RAG. таких туториалов много. в гугле много таких, вот первый попавшийся - https://medium.com/@anurag.tech/smart-q-a-on-any-book-with-llm-c1641580c04f
Medium
Smart Q/A on any book with LLM
Overview
Forwarded from VF | Science
Suno Инструкция.pdf
334.8 KB
Для активности с генерацией музыки мы конечно попробуем Suno & Udio)
Мы собрали самое важное для работы с нейронками в этой инструкции.
P. S. Достаточно качественные треки будут играть на афтепати!
Мы собрали самое важное для работы с нейронками в этой инструкции.
P. S. Достаточно качественные треки будут играть на афтепати!
Forwarded from Start Career in DS
📚Deep Learning: теоретический справочник по базовым концепциям
🔥Предыдущий пост в виде справочника по Machine Learning обрадовал нас вашей реакцией, и поэтому хотим сделать аналогичную подборку для изучения Deep Learning.
1️⃣ Введение в Deep Learning:
- Знакомство с полносвязанными нейронными сетями на Яндекс Учебнике
- Лекция от Нейчева Радослава по «Введению в нейронные сети»
- Поверхностное погружение в глубинное обучение
- Русский перевод «Что же такое нейронная сеть» от 3Blue1Brown на YouTube
- Как обучаются нейронные сети или про метод обратного распространения ошибки
- Видео на YouTube про градиентный спуск в нейронных сетях
2️⃣ Функции активации:
- Статья на Хабре про самые распространенные функции активации и как выбрать подходящую для вашей задачи
- Статья с разбором основных функций активаций
- Видео-обзор на YouTube про функции активации нейронных сетей с практикой
3️⃣ Оптимизаторы в нейронных сетях:
- Принципы работы оптимизаторов - объяснение на пальцах
- Методы оптимизации в Deep Learning от Яндекс Учебника
- Наиболее распространенные методы оптимизации с математическим объяснением для более продвинутых
- Optimizers for Neural Networks на Medium
4️⃣ Регуляризация глубоких нейронных сетей:
- Про инициализацию весов в нейронных сетях и виды регуляризации на Яндекс Учебнике
- Dropout - как метод решения проблемы переобучения нейронных сетей
- Что такое Weight Decay - простой объяснение на LinkedIn
- Огромная презентация с подробным объяснением методов регуляризации в нейронных сетях
5️⃣ Нормализация в нейронных сетях:
- Про все виды нормализации в нейронных сетях на Medium
- Что такое Batch Normalization
- Доступное объяснение нормализации в нейронных сетях на русском
- RMSNorm на GitHub
📌 Что ещё:
- Ответы на интересные вопросы нашего квиза по Deep Learning
- С этих постов можно начать изучение LLM - тут, тут и тут
- Пост про ТОП-вопросов из собеседований по NLP
- Самый популярный фреймворк для любой работы с нейронными сетями PyTorch и статья на Хабре о его возможностях
- Бесплатный курс видео-лекций по Deep Learning от Сергея Балакирева на YouTube
- Курс с лекциями от преподавателей МФТИ, начиная с Введения в Deep Learning и заканчивая более продвинутыми темами
- Немного практики для новичков
- Краткий курс по нейронным сетям в виде большой статьи на Хабре
- Книга с теорией + практика в Jupyter-ноутбуках: Understanding Deep Learning
Ставьте ❤️ и 🔥 если ждете подобные справочники и материалы для изучения Computer Vision и NLP!
Делитесь своими ресурсами в комментариях!
До встречи👋
🔥Предыдущий пост в виде справочника по Machine Learning обрадовал нас вашей реакцией, и поэтому хотим сделать аналогичную подборку для изучения Deep Learning.
1️⃣ Введение в Deep Learning:
- Знакомство с полносвязанными нейронными сетями на Яндекс Учебнике
- Лекция от Нейчева Радослава по «Введению в нейронные сети»
- Поверхностное погружение в глубинное обучение
- Русский перевод «Что же такое нейронная сеть» от 3Blue1Brown на YouTube
- Как обучаются нейронные сети или про метод обратного распространения ошибки
- Видео на YouTube про градиентный спуск в нейронных сетях
2️⃣ Функции активации:
- Статья на Хабре про самые распространенные функции активации и как выбрать подходящую для вашей задачи
- Статья с разбором основных функций активаций
- Видео-обзор на YouTube про функции активации нейронных сетей с практикой
3️⃣ Оптимизаторы в нейронных сетях:
- Принципы работы оптимизаторов - объяснение на пальцах
- Методы оптимизации в Deep Learning от Яндекс Учебника
- Наиболее распространенные методы оптимизации с математическим объяснением для более продвинутых
- Optimizers for Neural Networks на Medium
4️⃣ Регуляризация глубоких нейронных сетей:
- Про инициализацию весов в нейронных сетях и виды регуляризации на Яндекс Учебнике
- Dropout - как метод решения проблемы переобучения нейронных сетей
- Что такое Weight Decay - простой объяснение на LinkedIn
- Огромная презентация с подробным объяснением методов регуляризации в нейронных сетях
5️⃣ Нормализация в нейронных сетях:
- Про все виды нормализации в нейронных сетях на Medium
- Что такое Batch Normalization
- Доступное объяснение нормализации в нейронных сетях на русском
- RMSNorm на GitHub
📌 Что ещё:
- Ответы на интересные вопросы нашего квиза по Deep Learning
- С этих постов можно начать изучение LLM - тут, тут и тут
- Пост про ТОП-вопросов из собеседований по NLP
- Самый популярный фреймворк для любой работы с нейронными сетями PyTorch и статья на Хабре о его возможностях
- Бесплатный курс видео-лекций по Deep Learning от Сергея Балакирева на YouTube
- Курс с лекциями от преподавателей МФТИ, начиная с Введения в Deep Learning и заканчивая более продвинутыми темами
- Немного практики для новичков
- Краткий курс по нейронным сетям в виде большой статьи на Хабре
- Книга с теорией + практика в Jupyter-ноутбуках: Understanding Deep Learning
Ставьте ❤️ и 🔥 если ждете подобные справочники и материалы для изучения Computer Vision и NLP!
Делитесь своими ресурсами в комментариях!
До встречи👋
Forwarded from DevFM
Снова о необходимости архитектурных схем
Продолжим пост об архитектурных схемах с более практической стороны.
– Как-то так повелось, что мы используем C4 model. Не нагромождённая и достаточно лаконичная. Если вдруг кому-то кажется, что C4 – это какая-то новомодная модель, спешу разочаровать. Придумана она была почти 20 лет назад.
– C4 model не предусматривает никакой описательной части, поэтому ко всем архитектурным схемам у нас имеется тезисное описание всех компонентов, изображённых на схеме.
– C4 несложная, но глаз может замылиться, а всё ли сделано правильно? На этот случай на официальном сайте есть чеклист (там же можно скачать pdf), по которому можно быстро проверить вашу схему на соответствие правилам и адекватность.
– Хотя я очень люблю делать схемы в визуальных редакторах, но понимаю, что реюзабельность такого творчества страдает, поэтому правильно готовить такие схемы в виде кода. Хорошим решением будет Structurizr. Опенсорсная селфхостед штуковина. Помимо самих схем, там же можно документировать своё решение.
– По моему опыту очень полезной может оказаться Deployment диаграмма. Её можно немного извратить, отойти от канонов и получить примерно такое изображение. Особенно удобно, когда существует целый зоопарк самых разнообразных сервисов. Все они в разных закрытых сетевых контурах, с разными командами поддержки. Кто-то должен предоставить вам кубер, кто-то базы, кто-то s3. Что-то будет в Harvester, что-то в Proxmox. Такая диаграмма поможет разобраться во всём этом и как-то структурировать. А новый девопс на вашем проекте скажет за такое большое человеческое спасибо.
#devfm #systemdesign #tools
Продолжим пост об архитектурных схемах с более практической стороны.
– Как-то так повелось, что мы используем C4 model. Не нагромождённая и достаточно лаконичная. Если вдруг кому-то кажется, что C4 – это какая-то новомодная модель, спешу разочаровать. Придумана она была почти 20 лет назад.
– C4 model не предусматривает никакой описательной части, поэтому ко всем архитектурным схемам у нас имеется тезисное описание всех компонентов, изображённых на схеме.
– C4 несложная, но глаз может замылиться, а всё ли сделано правильно? На этот случай на официальном сайте есть чеклист (там же можно скачать pdf), по которому можно быстро проверить вашу схему на соответствие правилам и адекватность.
– Хотя я очень люблю делать схемы в визуальных редакторах, но понимаю, что реюзабельность такого творчества страдает, поэтому правильно готовить такие схемы в виде кода. Хорошим решением будет Structurizr. Опенсорсная селфхостед штуковина. Помимо самих схем, там же можно документировать своё решение.
– По моему опыту очень полезной может оказаться Deployment диаграмма. Её можно немного извратить, отойти от канонов и получить примерно такое изображение. Особенно удобно, когда существует целый зоопарк самых разнообразных сервисов. Все они в разных закрытых сетевых контурах, с разными командами поддержки. Кто-то должен предоставить вам кубер, кто-то базы, кто-то s3. Что-то будет в Harvester, что-то в Proxmox. Такая диаграмма поможет разобраться во всём этом и как-то структурировать. А новый девопс на вашем проекте скажет за такое большое человеческое спасибо.
#devfm #systemdesign #tools
Telegram
DevFM
Для чего нужны архитектурные схемы
Один из наших стартапных продуктов дозрел до того, чтобы для него подготовили архитектурную схему. По результату, я даже удивился, насколько всё стало разухабисто.
В недавнем диалоге обсуждали, для чего конкретно нам нужна…
Один из наших стартапных продуктов дозрел до того, чтобы для него подготовили архитектурную схему. По результату, я даже удивился, насколько всё стало разухабисто.
В недавнем диалоге обсуждали, для чего конкретно нам нужна…
Forwarded from Инжиниринг Данных (Dmitry)
Тут возможно самый полный сборник всего, что есть по DE или около того. https://github.com/DataExpert-io/data-engineer-handbook
Забавно получается, чем больше материалов, ссылок, книг, курсов в одно месте, тем сложнее в этом разобраться.🙌
Забавно получается, чем больше материалов, ссылок, книг, курсов в одно месте, тем сложнее в этом разобраться.
Please open Telegram to view this post
VIEW IN TELEGRAM
GitHub
GitHub - DataExpert-io/data-engineer-handbook: This is a repo with links to everything you'd ever want to learn about data engineering
This is a repo with links to everything you'd ever want to learn about data engineering - DataExpert-io/data-engineer-handbook