Господа, помогите пожалуйста войти в машинное обучение.
Впечатленный последними достижениями в области нейросетей и машинного обучения (ChatGPT, Midjourney, AlphaZero и проч.), подумал, а не связать мне свою жизнь с машинным обучением?
Линейную алгебру, основы статистики, матанализ, матрицы более менее помню.
Python еще нужно изучать? Фреймворки вроде Pytorch?
Не совсем понимаю, что представляет собой сейчас Machine learning developer. Это тот, кто сам разрабатывает, или кто умело пользуется разработками компаний вроде OpenAI? Есть еще всякие Data analyst, Data scientist, Data Engineer
Где применимы эти знания? За машинным обучением будущее или хайп спадет? Что с вакансиями?
Здравствуйте, flаt, Вы писали:
F>Из ABBYY звонили, предлагали обучаться по ходу работы. По деньгам тоже не обижали. Мне кажется, хороший вариант для вхождения в область.
Здравствуйте, Mihal9, Вы писали:
F>>Из ABBYY звонили, предлагали обучаться по ходу работы. По деньгам тоже не обижали. Мне кажется, хороший вариант для вхождения в область.
M>А чему обучаться предлагали?
На основе обезличенного массива собранных данных нужно быстро и дёшево найти инсайты к быстрому обогащению владельцев компании.
M>Господа, помогите пожалуйста войти в машинное обучение.
Здесь это спрашивать бесполезно т.к. эта тема не программерская.
В этом "мышинном обучении" программирования еще меньше, чем в 1С, там основа — прикладная область и немного математики.
Есть известные пакеты этого "ИИ", их разработка — это мелкое допиливание и настройка.
В этой работе непосредственно кодирования(тем более проектирования) практически нет, основная — анализ данных(первичных, промежуточных, результата).
Основное место разработчика(если таковой требуется) в команде — написание софта по разметке данных "обучения".
Сама разметка — полу-ручная, с помощью того софта — довольно унылое занятие.
Здравствуйте, Mihal9, Вы писали:
M>Где применимы эти знания? За машинным обучением будущее или хайп спадет? Что с вакансиями?
Применимы в прикладных областях.
Большей частью работы будет работа с данными (поиск, автоматизация разметки, автоматизация контроля над разметкой, чистка, анализ). Чтение статей, копание в чужих разработках уже меньше. Написания кода скоро может вообще не быть в скором времени, потому что даже довольно сильные авторы новых архитектур выкладывают на гитхаб тот ещё говнокод.
Сейчас всё более чётко начитает область делиться на специализации: data scientist — редкая птица, обитает в крупных корпорациях и научных центрах, которые могут позволить себе железо для обучения нейросетей. Тут надо знать математику, английский, Питон, немного С++/CUDA приветствуется.
Data engineer — вот это уже да, найти данные, организовать их хранение, доступ, все дела. Тут уже SQL, облака, докеры, хранилища. Питон практически не нужен.
Machine learning engineer — надо в конкретной прикладной области взять то, что придумали data scientist'ы из крупных компаний, взять данные от data engineer и, написав тонкую прослойку на Питоне, подружить данные и модели.
Ну и программист, post Machine learning engineer (сам придумал). Я работаю примерно в этой роли. Питона касаюсь редко, но дообучить нейросеть могу. Читаю питоновский код, переписываю его на С++ (практически все фреймворки имеют С++ API). Занимаюсь низкоуровневой оптимизацией получения данных, подачи их на вход нейросети, могу на С++/CUDA что-то реализовать, если оно есть только в Питоне. Знаю классическое компьютерное зрение лучше всех предыдущих ролей. Инструменты, с одной стороны — чисто плюсовые библиотеки общего назначения, а с другой: TensorRT, OpenVINO, OpenCV, gstreamer, ffmpeg. Иногда могу ускорить питоновский прототип на Nvidia Jetson на порядок.
Отдельно стоит роль data analyst, которая не столько технивеская, сколько менеджерская, про разговоры с людьми, построение отчётов, графиков, визуализацию и представление данных, анализ работы систем/бизнеса и доведение человеческим языком того, что там происходит и как это можно оптимизировать.
Мне вот какой момент непонятен.
Какой смысл писать и тренировать своего чат-бота, если уже существует ChatGPT ?
С гигантами и крупными компаниями не посоревнуешься в качестве обучения нейросеток.
Здравствуйте, Mihal9, Вы писали:
M>Мне вот какой момент непонятен. M>Какой смысл писать и тренировать своего чат-бота, если уже существует ChatGPT ?
Их адаптируют под свой домен, например. Доучивают, например, для банковского сектора. Но это не задача для одиночки.
M>С гигантами и крупными компаниями не посоревнуешься в качестве обучения нейросеток.
Здравствуйте, Mihal9, Вы писали:
M>Потому что с их железом они натренируют сеть за пару дней, в то время у нас уйдет пара месяцев
Если ты про большие сети, то в домашнее железо они в принципе не влезут, поэтому без шансов. Обучение одной сети может стоить миллионы долларов, где-то видел такую оценку. Это если ты сможешь в точности повторить все условия и обучение сойдётся с первого раза.
Но есть и множество маленьких сеток, для которых хватает и игровых видеокарт. Люди собирают специализированные датасеты под конкретную предметную область, учат сетки, получают результат. Тут примерно как с софтом: свою ОС мало кто разрабатывает, но прикладной софт писать может любой.
Здравствуйте, Nuzhny, Вы писали:
N>Data engineer — вот это уже да, найти данные, организовать их хранение, доступ, все дела. Тут уже SQL, облака, докеры, хранилища. Питон практически не нужен.
Сюда еще ETL, DWH. Имхо, востребовано, и питон все-таки нужен
Здравствуйте, Nuzhny, Вы писали:
N>Если ты про большие сети, то в домашнее железо они в принципе не влезут, поэтому без шансов. Обучение одной сети может стоить миллионы долларов, где-то видел такую оценку. Это если ты сможешь в точности повторить все условия и обучение сойдётся с первого раза. N>Но есть и множество маленьких сеток, для которых хватает и игровых видеокарт. Люди собирают специализированные датасеты под конкретную предметную область, учат сетки, получают результат.
Я понял вашу мысль. И всё равно: если Chat GPT усовершенствуют до уровня, когда он будет адекватно отвечать на любой вопрос, то пропадает необходимость писать свои чат-боты и тренировать свой домен (единственный и неповторимый).
Здравствуйте, Mihal9, Вы писали:
M>Я понял вашу мысль. И всё равно: если Chat GPT усовершенствуют до уровня, когда он будет адекватно отвечать на любой вопрос, то пропадает необходимость писать свои чат-боты и тренировать свой домен (единственный и неповторимый).
Допустим, есть РЖД, для которого нужен чат-бот для справочной по билетам и перевозкам. Или Сбер со своими услугами. Ты уверен, что ChatGPT сможет из коробки консультировать пользователей по актуальным продуктам?