Простое руководство по дистилляции BERT

Автор: admin от 29-01-2020, 17:00, посмотрело: 400

Если вы интересуетесь машинным обучением, то наверняка слышали про BERT и трансформеры.



BERT — это языковая модель от Google, показавшая state-of-the-art результаты с большим отрывом на целом ряде задач. BERT, и вообще трансформеры, стали совершенно новым шагом развития алгоритмов обработки естественного языка (NLP). Статью о них и «турнирную таблицу» по разным бенчмаркам можно найти на сайте Papers With Code.



С BERT есть одна проблема: её проблематично использовать в промышленных системах. BERT-base содержит 110М параметров, BERT-large — 340М. Из-за такого большого числа параметров эту модель сложно загружать на устройства с ограниченными ресурсами, например, мобильные телефоны. К тому же, большое время инференса делает эту модель непригодной там, где скорость ответа критична. Поэтому поиск путей ускорения BERT является очень горячей темой.



Нам в Авито часто приходится решать задачи текстовой классификации. Это типичная задача прикладного машинного обучения, которая хорошо изучена. Но всегда есть соблазн попробовать что-то новое. Эта статья родилась из попытки применить BERT в повседневных задачах машинного обучения. В ней я покажу, как можно значительно улучшить качество существующей модели с помощью BERT, не добавляя новых данных и не усложняя модель.



Простое руководство по дистилляции BERT

Категория: Программирование

 

Что такое «this» и с чем его едят

Автор: admin от 29-01-2020, 14:45, посмотрело: 73

Что такое «this» и с чем его едят
Автор фото — Sebastian Herrmann.



Доброго времени суток, друзья!



Представляю Вашему вниманию перевод статьи Daniel James «What is 'this'? Why is that?».



Что такое «this» и с чем его едят



Когда я начинал изучать javascript, концепция this показалась мне крайне запутанной.



Введение



Быстрый рост популярности JS отчасти можно объяснить низким порогом вхождения. Такие особенности языка как функции и this обычно работают, как ожидается. Для того, чтобы стать профессионалом в JS, Вам не нужно знать множества мелких деталей и подробностей (я бы с этим поспорил — прим. пер.). Но однажды каждый разработчик сталкивается с ошибкой, причиной которой является значение this.



После этого у Вас возникает желание разобраться с тем, как работает this в JS. Является ли this концепцией объектно-орентированного программирования (ООП)? Является ли JS объектно-ориентированным языком программирования (ООЯП)? Если вы «погуглите» это, то получите в ответ упоминания каких-то прототипов. Что еще за прототипы? Для чего использовалось ключевое слово «new» до появления классов в JS?



Все эти вещи тесно связаны между собой. Но прежде чем объяснять, как работает this, я позволю себе небольшое отступление. Я хочу немного рассказать о том, почему JS такой, какой он есть.

Категория: Программирование

 

Как устроена доставка товаров, подпадающих под таможенный лимит с 1 января 2020 года

Автор: admin от 29-01-2020, 11:10, посмотрело: 203

В прошлой статье мы в общих чертах писали о том, как переводим Почту России на электронные рельсы. В этот раз мы решили рассказать о животрепещущей теме — доставке покупок с зарубежных интернет-площадок, превышающих таможенный лимит.



C 1 января в России снизился порог беспошлинного ввоза. Теперь платёж берут с товаров дороже 200 € и тяжелее 31 кг. В самом процессе доставки ничего не изменилось, но теперь это может коснуться большего количества людей, поэтому у покупателей, которых раньше вопрос пошлин не касался, возникают резонные вопросы: что нужно для прохождения таможни? как оплатить пошлину? увеличится ли срок доставки?



В этой статье мы рассмотрим как устроен процесс расчета и уплаты пошлины и расскажем про интеграцию Почты с Федеральной таможенной службой (ФТС), которая упрощает и ускоряет прохождение таможни.

Категория: Программирование

 

Храним состояние чата на стеке

Автор: admin от 29-01-2020, 11:10, посмотрело: 184

Всё новое — это хорошо забытое старое!

Сейчас многие пишут различных ботов, которые в IM общаются с пользователем и как-то помогают пользователю жить.



Храним состояние чата на стеке

Если Вы посмотрите на код многих ботов, то он обычно сводится к одному и тому же паттерну:




  • приходит сообщение

  • оно передаётся пользовательскому обработчику сообщений (callback)



Это в общем-то универсальный способ написания ботов. Он подходит и для чатов с одним человеком и для ботов, подключаемых в группы. С этим способом всё хорошо кроме одного: код даже простых ботов часто бывает довольно запутан.



Давайте попробуем его распутать.

Категория: Программирование

 

Экскурсия по SLAC: национальная ускорительная лаборатория Министерства энергетики США в Стэнфорде

Автор: admin от 29-01-2020, 11:10, посмотрело: 130

Как-то раз я сидел со своим бывшим коллегой в столовой компании, в которой он работает, и обсуждал сплетни нашей бывшей команды. Совсем незаметно для меня мы переключились на разговор про увлечения. Дело было в Маунтин-Вью. Я давно знал, что он увлекается созданием разных силовых агрегатов в своем гараже. Вот чего он не знал, что я несколько лет учился на физика, а не программиста. Любовь к прикладной физике во мне с тех пор не угасает.



— «Здесь неподалеку, в Стенфорде, есть линейный ускоритель Министерства энергетики США, оператором которого является Стэнфордский университет. Они проводят экскурсии для всех желающих. Моя жена никогда не согласится поехать со мной. Поехали вместе?» — сказал он.

— «Воу! Это же круто! Конечно поехали! Моя жена тоже не согласится.» — не долго думая ответил я.



Экскурсия по SLAC: национальная ускорительная лаборатория Министерства энергетики США в Стэнфорде


By Peter Kaminski — United States Geological Survey, Public Domain, Link

Категория: Программирование

 

Действительно простая графика в R для науки и публицистики

Автор: admin от 29-01-2020, 11:10, посмотрело: 141

R — очень мощный инструмент для работы со статистикой: от предварительной обработки до построения моделей любой сложности и соответствующей графики.



Простой гугл-запрос выдаст большое количество литературы по тому, как «легко и быстро» использовать R. Здесь будут и огромные книги, и многочисленные заметки на Stack Overflow, которые, на первый взгляд, кажутся бесконечной кладезью примеров, из которой каждый в два счета соберет необходимый код для решения конкретной задачи. Однако, на деле это совсем не так. Материалов, которые бы рассказали, например, как построить простой график «с нуля» с готовыми рецептами для решения затруднений, которые возникнут по ходу решения этой задачи, очень мало.



Для решения практических задач нужны конкретные пошаговые инструкции, а не подробное описание всей мощи того или иного пакета. Кроме того, готовые учебные примеры (те же ирисы) зачастую малополезны, поскольку сразу пропускают один из самых важных этапов работы со статистикой — предварительный сбор и обработку самих данных. А ведь именно на эту работу зачастую уходит чуть ли не бoльшая часть всего времени! Отдельной проблемой оказывается создание графиков, которые соответствуют формальным, а чаще — неформальным, — стандартам определенной профессиональной среды.



Мне и моим коллегам регулярно требуется делать всё большее количество визуализаций статистики и основанных на них моделей для публикации научных результатов. Поскольку исследования касаются экономики, многие такие работы похожи и на профессиональную публицистику.



В какой-то момент стало понятно, что для эффективной коллективной работы нужен своего рода полноценный конвейер обработки статистики. Эта статья родилась как вводное руководство для коллег и шпаргалка для самого себя, чтобы запустить этот конвейер. Думается, что этот материал может быть полезен и более широкой аудитории.

Категория: Программирование

 

АДСМ3. IPAM/DCIM-системы

Автор: admin от 29-01-2020, 11:10, посмотрело: 146

В предыдущих сериях АДСМ мы выработали фреймворк автоматизации, разобрались с тем, зачем появилась виртуализация и как она работает. В последней части мы выбрали и обосновали дизайн сети, роли устройств, производителей, определились с LLD (адресацией, маршрутизацией, номерами Автономных Систем).



Теперь мы готовы подумать о том, как всю эту гору информации хранить и в дальнейшем удобно извлекать.



Нет, есть, конечно, и сегодня компании, которые ведут учёт выделенных IP-адресов в таблице Excel. Но это не наш путь.



Даже для самой маленькой конторки размеров в пару филиалов наличие централизованной системы управления IP-пространством не повредит.



Необходимость системы инвентаризации очевидна без лишних слов.



АДСМ3. IPAM/DCIM-системы



Все выпуски АДСМ:



0. АДСМ. Часть Нулевая. Планирование

1. АДСМ. Часть Первая (которая после нулевой). Виртуализация сети

2. АДСМ. Часть Вторая. Дизайн сети

3. АДСМ. Часть Третья. IPAM/DCIM-система



Этот выпуск я посвящу неотъемлемым системам в сетевой автоматизации — системе управления адресным пространством и инвентарной системе.



Мы выберем и установим её, разберёмся с архитектурой, схемой БД, интерфейсами взаимодействия и наполним её. А в следующих частях начнём писать несложные скрипты, автоматизирующие повторяющиеся операции, такие как добавление новых стоек.



Кроме того, я уже опубликовал отдельную статью о RESTful API, в которой сделал короткий обзор его принципов и работы, это нам понадобится.

Категория: Программирование

 

Быстрый вход в управление продуктом через Open source

Автор: admin от 29-01-2020, 11:05, посмотрело: 126

Быстрый вход в управление продуктом через Open Source



Быстрый вход в управление продуктом через Open source
Фотография сделана Finn Hackshaw на Unsplash



“Как вы достигли успеха в управлении продуктом”?



Это вопрос, с которым рано или поздно сталкивается каждый продукт-менеджер. По мере того, как управление продуктом перестает быть просто маркетинговой функцией, возрастает и привлекательность этой роли.



Если это вам действительно интересно, то цифровому миру найдется, что предложить. Существует огромное количество каналов Slack, групп Facebook, групп LinkedIn и обучающих курсов, в которых можно участвовать, вовлекаться и учиться. Продукт — это огонь. А управлять им еще жарче.



Что удивляет в отношении этого тренда так это то, что лишь немногие пользуются таким действительно недооцененным путем к практическому управлению продуктами, как открытый исходный код.

Категория: Программирование

 

Как стать дизайнером диалогов

Автор: admin от 29-01-2020, 11:05, посмотрело: 109

Я предлагаю вам вперевод и выжимку со статьи моего пратнера Ханса ван Дама о том, как разрабатывать дизайн диалогов. Авторство статьи принадлежит Гансу. Я ему помогаю поделиться этими уникальными знаниями с будущими разработчиками и дизайнерами диалогов.



Если люди и ИИ будут жить и работать вместе, им необходимо общаться друг с другом. Именно тут в игру вступают дизайнеры диалогов.



Дизайнеры диалогов являются создателями текстов, которые помогают чат ботам и голосовым помощникам быть более полезными, естественными и убедительными. Они создают доверие между людьми и ИИ, а также способствуют тому, чтобы компании могли по-настоящему раскрыть коммуникационный потенциал ИИ. Если Вы посмотрите на сегодняшнюю технологическую среду в целом, Вы поймете, что дизайн виртуальных диалогов становится все более важной задачей. Поэтому, давайте рассмотрим те вопросы, о которых Вам стоит задуматься перед началом работы.



Ниже приведены 7 вопросов для обдумывания.

Категория: Программирование

 

Calico для сети в Kubernetes: знакомство и немного из опыта

Автор: admin от 29-01-2020, 11:05, посмотрело: 147

Calico для сети в Kubernetes: знакомство и немного из опыта


Цель статьи — познакомить читателя с основами сетевого взаимодействия и управлением сетевыми политиками в Kubernetes, а также со сторонним плагином Calico, расширяющим стандартные возможности. Попутно будут продемонстрированы удобство конфигурации и некоторые фичи на реальных примерах из опыта нашей эксплуатации.

Категория: Программирование

 
Назад Вперед