Получи случайную криптовалюту за регистрацию!

Новое электричество

Логотип телеграм канала @new_electricity — Новое электричество Н
Логотип телеграм канала @new_electricity — Новое электричество
Адрес канала: @new_electricity
Категории: Технологии
Язык: Русский
Количество подписчиков: 2.44K
Описание канала:

Мы создаём Искусственный Интеллект, и нам интересно всё, что с ним связано.
Связь: @new_electricity_bot

Рейтинги и Отзывы

2.67

3 отзыва

Оценить канал new_electricity и оставить отзыв — могут только зарегестрированные пользователи. Все отзывы проходят модерацию.

5 звезд

0

4 звезд

0

3 звезд

2

2 звезд

1

1 звезд

0


Последние сообщения 6

2020-12-04 13:57:36 Одна из невидимых связей, связывающих мир – это цепочка поставок (supply chain). Звучит пафосно, но это действительно так – компоненты продукта, который достает из упаковки конечный потребитель, могут быть произведены в десятках разных мест. А для их производства понадобилось в свою очередь огромное количество материалов.

Полная цепочка даже для одного товара может представлять из себя огромное ветвистое дерево. Сложив такие деревья для миллионов продуктов, получим глобальную “цепочку поставок”. Если интернет – информационная сеть, то цепочку поставок можно считать главной “физической” сетью мира.

Про попытки автоматизации цепочки поставок и то, при чем здесь AI, в посте ниже
https://telegra.ph/AI-dlya-fizicheskoj-seti-12-04
3.0K views10:57
Открыть/Комментировать
2020-12-01 17:18:55 #ai_in_development
Сегодня поговорим про то, как Искусственный Интеллект помогает разработчикам создавать и претворять в жизнь свои проекты.

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

Ниже поговорим о самых востребованных кейсах применения AI при создании ПО, а также компаниях, которые этот AI создают.

1. Управление требованиями.
Управление требованиями – это процесс сбора, проверки и отслеживания того, что необходимо конечным пользователям от ПО. Несколько крупных компаний, например, IBM ввели цифровых ассистентов, которые могут анализировать документы, содержащие требования, и предлагать улучшения.

Эти инструменты работают на технологии NLP и обучены написанию высококачественных требований на основе широко распространенных рекомендаций. Согласно исследованиям, предприятия, использующие такие инструменты, смогли сократить время рассмотрения требований более чем на 50 процентов.

2. Кодинг и выявление багов
По мере того, как разработчики набирают текст, AI-инструменты дают рекомендации по заполнению строк кода. Согласно различным источникам, это может уменьшить количество требуемых нажатий клавиш до половины. Некоторые инструменты даже генерируют список пригодных для использования фрагментов кода, работая по тому же принципу, что и "автокоррекция" Gmail, предлагающая пользователю слова или фразы, которые он с большой вероятностью напишет далее.

В Facebook инструмент для обнаружения ошибок корректно предсказывает дефекты в 80 процентах случаев. Компания Ubisoft, специализирующаяся на видеоиграх, утверждает, что использование машинного обучения помогает ей улавливать 70% ошибок до начала тестирования.

3. Тестирование
AI-инструменты теперь могут не только автоматически запускать тесты, но и автоматически генерировать тестовые сценарии. Это экономит время аналитиков и помогает обеспечить тестирование большего количества сценариев и функциональности. Например, компания Software Solutions Integrated использовала AI для автоматической генерации более половины тестовых сценариев, которые она использовала для проверки своего проекта. В частности, с помощью AI они обнаружили, что их традиционные методы тестирования неправильно работали при незначительных изменениях в пользовательском интерфейсе (UI).

4. Деплой
Иногда дефекты программного обеспечения становятся очевидными только после того, как ПО развернуто в среде. Тем не менее, AI-инструменты помогают заранее предсказать сбой деплоя, изучая такие данные, как статистика предыдущих выпусков кода и журналы приложений. Это серьезно ускоряет анализ первопричин сбоя и последующее восстановление.

В одном случае автоматическая проверка развертывания и отката на основе машинного обучения помогла компании XebiaLabs, занимающейся электронной коммерцией, добиться более быстрого деплоя приложений и 75% сокращения среднего времени восстановления после сбоя.

В общем, вы уже наверняка могли заметить, что AI становится незаменимым помощником разработчиков, и его влияние будет только расти с течением времени.

В конце поста приведем названия других компаний, создающих AI-инструменты для помощи в создании ПО. Прочитать про их кейсы подробнее вы сможете, кликнув на названия: Opsani AI, Tara, CraneAI, Seerene, Kite.

Всем хорошей недели и до встречи!
3.4K views14:18
Открыть/Комментировать
2020-11-30 11:21:35 "Программирование на Питоне"

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

Для базового уровня самый очевидный вариант - пройти какой-либо курс. Есть классического плана курса (с "живым" учителем), а также чистые онлайн-курсы - они есть на очень многих платформах, в частности совершенно прекрасен базовый курс на Codecademy.

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

И с точки зрения "продолжающих" дополнительные курсы - не самый очевидный вариант (найти по-настоящему классный курс, соответствующий индивидуальным потребностям и предпочтениям совсем непросто). Самостоятельная работа с книгой может быть как минимум не хуже. А и с книг безусловно можно рекомендовать "Программирование на Питоне" Марка Лутца (Marc Lutz, "Programming Python").

Книга является фактически продолжением книги "Изучаем Питон" ("Learning Python") того же автора. Это тоже прекрасная книга, которая может использоваться как дополнение или альтернатива курсам. Но "Программирование" посвящено уже не учебному, а "настоящему" программированию.

Основных блока в книге три и посвящены они следующим темам:

- Взаимодействие приложения с операционной системой. Неспециалисты редко задумываются, что происходит, когда запускается новая программа - как она взаимодействует с ОС, как программы делят память, как можно адаптировать их поведение в зависимости от архитектуры. Знакомство с данным разделом может очень серьезно развить читателя в данных вопросах.

- Создание графических пользовательских интерфейсов (GUI). Очень подробно и вдумчиво разбирается основная питоновская библиотека для данной цели Tkinter. Можно с нуля научиться создавать приложения, при том не только простые, но и достаточно продвинутые.

- Наконец, большой раздел посвящен созданию веб-приложений. Конкретно на эту тему доступно очень много материалов, но как обычно Лутц дает его фундаментально. Если задача быстро что-то выучить за пару дней - его книга вряд ли оптимальный вариант; но если есть готовность потрудиться, чтобы по-настоящему разобраться, она очень хороша.

В общем, книга прекрасна. Тем, кто хочет перейти от "базового" на "продвинутый" уровень владения Питоном можно однозначно рекомендовать!

Книгу в формате PDF выложили в наш чат.
3.2K views08:21
Открыть/Комментировать
2020-11-27 13:37:16 Почему Nvidia?
#ai_hardware

Мы недавно писали о том, почему глубинное обучение нужно проводить на GPU. Следующий логический вопрос у человека, который хочет попробовать – а какая должна быть GPU? Хорошие новости в том, что базовый ответ на этот вопрос очень простой – это должна быть Nvidia.

Мы не будем анализировать видеокарты в целом – сравнений Nvidia и AMD очень много, есть приверженцы того и другого вариантов. Обучать на Nvidia надо не потому, что она лучше сама по себе – с точки зрения «железа», - а потому, что это стало стандартом индустрии. Сама Nvidia создала и постоянное развивает прекрасный пакет Cuda, который управляет использованием GPU для обучения. И основные библиотеки – Tensorflow, PyTorch – прекрасно умеют с ней интегрироваться. Поэтому разобраться с запуском обучения относительно просто.

Для видеокарт AMD тоже какие-то варианты существуют, в принципе запустить на них обучение безусловно возможно. Но скорей всего это потребует намного больших усилий и намного более глубокого понимания происходящих процессов. Поэтому, если вы не планируете становиться серьезным инженером по управлению GPU, наша рекомендация – Nvidia.

Следующий вопрос – какая именно Nvidia? Первое, что нужно отметить – покупать специализированные GPU, созданные специально для машинного обучения (серия Titan Rtx), совершенно необязательно. Многие обычные «геймерские» видеокарты отлично подойдут и обеспечат вполне приличную скорость, пригодную для решения многих практических задач.

Если у вас есть довольно новая видеокарта Nvidia, самое разумное, это попробовать запустить обучение на ней. В целом возможно 3 исхода:
- библиотеки для обучения откажутся с ней работать (она слишком старая или маломощная);
- обучение запустится, но для ваших задач окажется слишком медленным;
- все заработает, и вы получите достаточную скорость обучения.

Первые два варианта будут означать, что новая видеокарта все-таки нужна. Но в любом случае вы получите опыт и массу полезной информации. В частности, если обучение слишком медленное, то можно будет выбрать GPU (или набор GPU!), которые дадут достаточный выигрыш в скорости. Подойдет ли ускорение в 3 раза или нужно минимум в 10, а лучше в 20? Это очень разные истории, которые потребуют разных вложений. Кроме того и третий, позитивный, вариант очень даже реален.

Проанализировать скорость всех моделей невозможно, их слишком много. Но приведем краткие выводы по тем, с которыми мы сталкивались. Мы тестировали RTX 2070 Super для дообучения язывого трансформера. В целом ее оказалось вполне достаточно. Грубо говоря, боевой запуск отнимает одну ночь. Тестовые запуски можно делать существенно короче. Это не очень быстро, но терпимо, если есть определенное время на получение результата.

Переход на RTX 3080 дал выигрыш в скорости примерно в 2 раза. Это конечно, намного удобней, позволяет быстрей получать результаты и что-то менять в настройках. Тем не менее, если глубинное обучение нужно проводить изредка, то 2070 вполне достаточно.

Кроме собственно быстродействия, в первую очередь определяемого количеством ядер, может иметь значение память устройства. Качество обучения может зависеть от размера порций («батчей»), которыми подаются данные. В некоторых случаях маленькая память может вынудить перейти на слишком маленькие батчи и это будет непросто исправить даже возрастанием времени обучения. Но наличие или отсутствие таких проблем очень зависит от конкретной задачи. Очень может быть, что вам и «мини-батчи» прекрасно подойдут.

На этом заканчиваем краткий экскурс по моделям GPU. В одном из следующих постов напишем про некоторые другие, «софтовые» аспекты домашнего глубинного обучения.
3.0K views10:37
Открыть/Комментировать
2020-11-25 10:37:22 AI и open source

Мы уже не раз писали, что Python — главный язык AI. Например, тут рассказывали, как самим начать делать AI (это не очень сложно!), а здесь обсуждали основные библиотеки, которые для этого используются.

Одна из важнейших причин, почему для Питона написано много библиотек, пишутся новые, и все ими пользуются, в том, что они бесплатные и open source — с открытым, доступным в интернете программным кодом. Именно это позволяет разработчикам всего мира кооперироваться в работе над ними, объединяя усилия и знания.

Говоря про open source, сразу хочется вспомнить известный анекдот про Microsoft: в начале 2000х они активно боролись с open source, а CEO Стив Баллмер говорил: "Линукс — это рак".
С тех пор, впрочем, многое поменялось. Так, компания активно развивает open source-продукт Visual Studio Code — одну из самых удобных сред для написания кода. Часть нашей команды пользуется именно ею.

Почти для всех популярных программ и задач есть open source-аналоги. Их довольно удобно искать через так называемые awesome-подборки, куда попадают "хорошие" по мнению пользователей программы: вот, например, большая подборка по Питону, а вот — отличная подборка только по AI (сюда мы и сами часто заглядываем). Рекомендуем!
4.3K views07:37
Открыть/Комментировать
2020-11-24 16:02:22 В поисках здравого смысла

Обработка естественного языка (НЛП) в последнее время достигла больших успехов, но насколько ИИ понимает то, что читает? По мнению исследователей из Департамента компьютерных наук USC - меньше, чем можно предположить. В недавней статье доцент Сян Рен и аспирант Ючэнь Линь подтвердили, что, несмотря на успехи, ИИ все еще не обладает здравым смыслом, необходимым для создания правдоподобных предложений.

«Современные модели генерации текста могут написать статью, которая будет убедительной для многих людей, но они по сути имитируют то, чем их “кормили” на этапе обучения», - говорит Линь. «Наша цель в этой статье - изучить проблему того, могут ли современные модели генерации текста писать предложения, описывающие естественные сценарии нашей повседневной жизни».

Понимание сценариев повседневной жизни

Рен и Линь проверили способность моделей рассуждать и показали, существующий огромный разрыв между современными моделями генерации текста и возможностями человека. НЛП моделям была поставлена ​​задача создать правдоподобные предложения, описывающие повседневный сценарий используя набор самых распространенных существительных и глаголов. Хотя модели генерировали грамматически правильные предложения, они часто были логически бессвязными.

Например, вот одно предложение, созданное современной моделью со словами «собака, фрисби, бросить, поймать»:
«Две собаки бросают друг в друга фрисби».

Тест основан на предположении, что связные идеи (в данном случае: «человек бросает фрисби, а собака ее ловит») не могут быть получены без более глубокого понимания концепций здравого смысла. Другими словами, здравый смысл - это больше, чем просто правильное понимание языка - это означает, что вам не нужно все объяснять в разговоре. Это фундаментальная задача при разработке универсального ИИ, и помимо академических кругов она более чем актуальна и для конечных потребителей.

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

Проверка здравого смысла

Здравый смысл или способность делать выводы, используя фундаментальные знания о мире - например, факт, что собаки не могут бросать фрисби друг другу - головная боль исследователей ИИ многих десятилетий. Современные модели глубокого обучения показывают точность до 90%, поэтому может показаться, что НЛП неумолимо приближается к своей цели. Это только кажется.

Рен, специалист по обработке естественного языка, и его ученик Линь, в своей статье, опубликованной на прошлой неделе, 16 ноября, на конференции «Выводы эмпирических методов в обработке естественного языка» (EMNLP) ставят под сомнение эффективность эталонных тестов и, следовательно, уровень прогресса, достигнутого в данной области.

Для оценки различных моделей исследователи разработали тест CommonGen, который предлагается использовать в качестве эталона при проверке здравого смысла моделей генерации текста. Проведя тестирование современных моделей они обнаружили, что даже самая эффективная из них достигла уровня точности только 31,6% по сравнению с 63,5% для людей.

«Даже самая сильная модель, T5, после обучения с большим набором данных все еще делает глупейшие ошибки», - говорит Линь.

Можно утверждать, что все без исключения предыдущие тесты не проверяли модели на здравый смысл, но вместо этого проверяли насколько хорошо они имитируют “съеденное” на обучении.
2.8K views13:02
Открыть/Комментировать
2020-11-23 15:17:30 Недавно мы рассказывали, как NVIDIA благодаря AI осваивает технологии апскейла для видеоигр.

Ещё один новый продукт компании — NVIDIA Maxine, облачный сервис для видеоконференций.

В 2020 году значительная часть коммуникаций между людьми происходит онлайн, и с этим достаточно много сложностей. Во-первых, возрастает нагрузка на каналы связи, потому что видео — довольно тяжёлая штука. Во-вторых, если у пользователя не очень хороший канал (где-нибудь за городом), его или не видно, или не слышно, или просто вся картинка в квадратиках.

NVIDIA предлагает на своей платформе несколько разных технологий. Среди них как и часто встречающиеся денойз внешних звуков, виртуальный фон, автоматический переводчик, так и более любопытные штуки.
AI Compression позволяет на порядок снизить требуемую для передачи видео ширину канала. Устроена она так: полноценные кадры передаются лишь иногда, а в остальное время передаются ключевые точки кадра, и по последнему полному кадру и этим точкам текущий кадр достраивается.
Есть Face Alignment — продвинутая коррекция направления взгляда, где невидимые части лица достраиваются по технологиям, похожим на deep fake.
Наконец, Super Resolution — технология апскейла, похожая на DLSS.

Распространяется NVIDIA Maxine как API, набор тулов, который разработчики могу использовать в своих продуктах.
2.9K views12:17
Открыть/Комментировать
2020-11-19 13:48:42 GPU Basics
#ai_hardware

Несмотря на обилие возможностей глубинного обучения в облаке, десятки тысяч людей продолжают делать это дома на своих компьютерах. И, наверное, уже все знают, что для обучения модели будет использоваться видеокарта – graphical processing unit (“GPU”), а не процессор (“CPU”).

Чтобы дать числовую оценку преимуществ GPU (будем использовать англоязычный термин, так как в нем присутствует «вычислительный» аспект, в отличие от слова «видеокарта») приведу недавний пример из практики. Решили посмотреть, за какое время центральный процессор справится с задачей, на которую у GPU уходит около часа. Оказалось – за 25 часов!

Конечно, данное значение будет отличаться для разных видов задач, CPU и GPU, архитектур систем и используемых для обучения библиотек, но вывод не изменится – GPU быстрее. Намного быстрее. До такой степени, что заниматься современным глубинным обучением на центральном процессоре сейчас вряд ли имеет смысл.

Сегодня немного поговорим о том, почему же GPU быстрей? Простой ответ – процесс глубинного обучения практически целиком состоит из перемножений очень больших матриц для оптимизации огромного количества параметров, а GPU с такой задачей справляется лучше.

Но возникает следующий вопрос – а почему именно GPU лучше перемножает матрицы?

Есть классическая аналогия, что CPU работает как гоночный автомобиль (чаще всего используется Феррари), а GPU как огромный трак. Если нужно доставить из пункта А в пункт Б небольшой груз, то Феррари это сделает намного быстрей.

Но если нужно перевести большое количество стройматериалов, то медленный трак сделает это намного быстрей, так как сможет это сделать за одну «ходку», в то время как Феррари потребуется десятки.

Самый простой способ продемонстрировать этот эффект, сравнить количество ядер. Для самых мощных современных процессоров это несколько десятков (32 – очень круто; 48 – фактически существующий предел). Это очень впечатляет, особенно тех, кто застал времена всего с одним единственным ядром. Но топовые GPU сейчас имеют более 10 тысяч ядер!

Да, ядра GPU другие, намного проще, чем сложные ядра CPU. Но против грубой силы приема нет, 10 тысяч ядер все равно позволяет производить намного больше параллельных вычислений, чем 32, а значит намного быстрей обучать модель.

С перевозкой грузов на траке есть одна большая проблема – его нужно долго нагружать и это может очень сильно удлинять общее время транспортировки.

И действительно, в базовом варианте необходимость перемещения больших объемов данных от процессора на GPU могла бы привести к большим потерям времени.

Но современные системы научились хорошо с этим справляться – они используют параллелизм, фактически, большое количество траков, работающих одновременно, и это позволяет решить проблему перемещения данных относительно быстро.

Таким образом, GPU имеют огромный выигрыш в скорости вычислений и теряют совсем немного из-за необходимости перемещения данных. Общий выигрыш в скорости очень велик.

Глубже в технические детали не пойдем – кто хочет легко может найти про них информацию в других источниках, да и для большинства задач обучения Искусственного интеллекта это не обязательно. Но время от время мы будем писать про практические аспекты «домашнего глубинного обучения».
4.2K views10:48
Открыть/Комментировать