Крупнейшее медиа об интернет-культуре и технологиях.
Больше интересного на https://exploit.media
Написать в редакцию: @exploitex_bot
Сотрудничество: @todaycast
Last updated 15 hours ago
Не заходи без шапочки из фольги и пары надежных проксей. Интернет, уязвимости, полезные сервисы и IT-безопасность.
Связь с редакцией: @nankok
Сотрудничество: @NeuroNeron
Last updated 3 days, 4 hours ago
Первый верифицированный канал о технологиях и искусственном интеллекте.
Сотрудничество/Реклама: @alexostro1
Помощник: @Spiral_Yuri
Сотрудничаем с Tgpodbor_official
Last updated 1 month, 1 week ago
#забавные_истории
Самый приятный комплимент
Студенты на моей секции (семинаре) по дифурам сказали, что узнают здесь больше материала, чем на лекциях, и поэтому я должен преподавать этот курс вместо их профессора🥹🥹🥹
#научпоп
Почему цикл - злейший враг любого инженера машинного обучения?
Если вы когда-либо начинали учиться программированию, то наверняка сталкивались с циклами. Когда нужно выполнить одну и ту же операцию много раз — например, сложить числа или обработать данные, — мы обычно используем цикл. Это простой способ решить задачу, но, к сожалению, не всегда самый быстрый.
Современные компьютеры могут выполнять миллиарды простых математических операций в секунду: сложение, вычитание, умножение и деление уже не представляют для них труда. Однако есть предел тому, насколько быстро может работать один процессор.
Представьте, что вам нужно помыть окна в квартире. Даже если вы выпьете три банки энергетика, вы не сможете мыть их намного быстрее. Но вы можете позвать друзей, и тогда работа пойдёт в два, три, а то и четыре раза быстрее. Точно так же работает и компьютер: если один процессор не справляется, почему бы не добавить ещё несколько?
Когда дело доходит до машинного обучения или работы с большими данными, часто возникает необходимость выполнять множество одинаковых, но независимых операций — например, перемножать тысячи пар чисел. Если написать цикл, компьютер будет выполнять эти операции одну за другой, что может сильно замедлить процесс. Однако существуют специальные библиотеки — такие как NumPy, PyTorch и TensorFlow, — которые могут выполнять такие задачи параллельно, задействуя несколько процессоров одновременно. Это значительно ускоряет вычисления и делает программы более эффективными.
Значит ли это, что циклы бесполезны? Вовсе нет. Некоторые задачи действительно требуют выполнения операций последовательно. Представьте, что вы стираете одежду: вы не сможете повесить вещи сушиться, пока не постираете их. То есть, пока одна операция не завершена, следующую начать нельзя. В таких случаях циклы неизбежны.
Пример из моих исследований — симуляция движения частиц. Чтобы рассчитать новые координаты частицы, нужно сначала знать её предыдущее положение. А чтобы узнать предыдущее положение, нужно знать положение до этого. Таким образом, такие задачи нельзя распараллелить, и они занимают больше всего времени.
#наблюдения_и_открытия
Пойти на магистратуру, чтобы просто найти работу.
Сейчас беру семинар для студентов первого курса моей магистратуры, где нам помогают с профориентацией.
На первом занятии мы отвечали анонимно на вопросы, а потом зачитывали ответы. Так получилось, что на вопрос "Зачем вы пошли на магистратуру?" большинство студентов (50%) ответили — "потому что не смогли найти работу после бакалавриата". То есть сейчас мага превращается уже не в дополнительный диплом для тех, кто хочет углублять свои знания, а уже просто во что-то необходимое для получения работы. При этом, это всё ребята с супер прикладными специальностями из топовых университетов по типу дата саенс или программирование, которые по идее должны быть очень востребованы.
А ещё пару дней назад я подслушал разговор двух студентов, в котором они говорили, что аспирантура — это единственная альтернатива тяжелым поискам работы на этом безумном рынке труда. Да уж, когда я подался в Стенфорд, я и представить себе не мог, что студенты тут готовы идти в аспирантуру на 5 лет, потому что не могут найти работу после инженерных специальностей.
Что ж, надо сказать, что послековидная эпоха в США, наверное, самая ужасная для тех, кто сейчас в университете ищет стажировки и работу за долгое время. Кажется, что мир катится в тартарары
#забавные_истории
Только что рассказал знакомому американцу краткую историю России: татаро-монгольское иго, смутное время, Северная война, разделы Польши, отечественная война 1812, революция и холодная война.
Учите историю, друзья. Кто знает, может тоже окажетесь в такой ситуации
Предлагаю флешмоб, скидывайте ваши фотки в 1 год в комментарии?
#хроники_программирования
#ресерч
#научпоп
Трудности настройки алгоритмов: подбор гиперпараметров
На первый взгляд, основная задача реализации алгоритмов заключается в преобразовании математической идеи или модели в код на каком-либо языке программирования. Сразу возникает несколько вызовов. В первую очередь это — оптимальный дизайн. Для данного языка нужно написать код так, чтобы ресурсы процессора использовались эффективно. В любом университете есть курсы, посвящённые подобным задачам.
К сожалению, программистам часто мешает скрытый вызов, о котором многие забывают, — подбор гиперпараметров. Особенно это актуально для машинного обучения и статистики. В описании алгоритма может упоминаться несколько переменных, определение значений которых является задачей программистов. Самая большая трудность в том, что в большинстве случаев найти эти "оптимальные параметры" можно только методом грубого перебора. Если эти значения плохо подобраны, то алгоритм может просто не работать.
Представьте, что у алгоритма есть 10 параметров, для каждого из которых нужно протестировать 10 значений. В худшем случае алгоритм придется прогнать 10 миллиардов раз. А многие алгоритмы могут выполняться на протяжении целого месяца!
Самый простой выход из этой ситуации — параллелизм. В моей лаборатории есть кластер компьютеров, который позволяет мне виртуально запускать сразу несколько программ одновременно. Например, в пятницу мне нужно было протестировать два значения для одного параметра и три для другого. Для этого я запустил 6 программ одновременно. Каждая из них занимает примерно сутки. Если бы я делал это на своём компьютере, мне бы пришлось запускать их последовательно, и тогда на это могло бы уйти 6 дней. А так, уже в субботу я могу посмотреть результаты.
Крупнейшее медиа об интернет-культуре и технологиях.
Больше интересного на https://exploit.media
Написать в редакцию: @exploitex_bot
Сотрудничество: @todaycast
Last updated 15 hours ago
Не заходи без шапочки из фольги и пары надежных проксей. Интернет, уязвимости, полезные сервисы и IT-безопасность.
Связь с редакцией: @nankok
Сотрудничество: @NeuroNeron
Last updated 3 days, 4 hours ago
Первый верифицированный канал о технологиях и искусственном интеллекте.
Сотрудничество/Реклама: @alexostro1
Помощник: @Spiral_Yuri
Сотрудничаем с Tgpodbor_official
Last updated 1 month, 1 week ago