30 сентября, 2023

hleb

Находите все последние статьи и смотрите телешоу, репортажи и подкасты, связанные с Россией.

Ученые-компьютерщики используют искусственный интеллект, чтобы ускорить скорость вычислений в тысячи раз

Группа ученых-компьютерщиков из Массачусетского университета в Амхерсте под руководством Эмери Бергера недавно представила отмеченный наградами профилировщик Python под названием Scalen. Программы, написанные на Python, работают очень медленно — до 60 000 раз медленнее, чем код, написанный на других языках программирования, — и Scalene точно определяет, где Python отстает, позволяя программистам устранять неполадки и упрощать свой код для повышения производительности.

Существует много разных языков программирования — C++, Fortran и Java — одни из самых популярных, но в последние годы один язык стал почти повсеместным: Python.

«Python — это аккумуляторный язык, который стал очень популярным в эпоху науки о данных и машин», — говорит Бергер, профессор информатики в Школе информатики и компьютерных наук Мэннинга Массачусетского университета в Амхерсте. Обучение, потому что его так легко использовать». Язык поставляется с библиотеками простых в использовании инструментов и имеет интуитивно понятный и читаемый синтаксис, что позволяет пользователям быстро начать писать код Python.

«Но Python безумно неэффективен», — говорит Бергер. «Он легко работает в 100–1000 раз медленнее, чем другие языки, а некоторые задачи на Python заняли бы в 60 000 раз больше времени».

Программистам это известно уже давно, и для борьбы с неэффективностью Python они могут использовать инструменты, называемые «профилировщиками». Аналитики запускают программы, а затем определяют причину и то, какие части работают медленно.

К сожалению, нынешние аналитики мало чем могут помочь программистам Python. В лучшем случае эти данные указывают на то, что какая-то область кода работает медленно, и оставляют программисту возможность выяснить, что делать и если вообще что-то делать.

Команда Бергера, в которую входили аспиранты Массачусетского университета по информатике Сэм Стерн и Хуан Альтмайер Пиццорно, создала Scalene как первый анализатор, который не только выявляет недостатки в коде Python, но и использует искусственный интеллект, чтобы предлагать способы улучшения кода.

READ  Последний виджет Android для Google Maps будет отображать местные условия дорожного движения на главном экране.

Скален поднимает первым где «Ваша программа тратит время», — говорит Бергер. В нем основное внимание уделяется трем основным областям — использованию ЦП, графического процессора и памяти, — которые ответственны за большую часть низкой скорости Python.

Как только Scalin определяет, где Python испытывает трудности с отслеживанием, он использует искусственный интеллект — используя ту же технологию, что и ChatGPT — чтобы предложить способы улучшения отдельных строк или даже блоков кода. «Это действенная информационная панель», — говорит Бергер. «Спидометр не только показывает, насколько быстрая или медленная ваша машина, но и показывает, можете ли вы ехать быстрее, почему это влияет на вашу скорость и что вы можете сделать, чтобы достичь максимальной скорости».

«Компьютеры больше не работают быстрее», — говорит Бергер. «Будущие улучшения скорости будут происходить не за счет лучшего оборудования, а за счет более быстрого и эффективного программирования».

Scalene уже широко используется и был скачан более 750 000 раз с момента его публичного раскрытия на GitHub. Исследование, которое привело к разработке Scalene, было поддержано Национальным научным фондом. Статья, описывающая эту работу, появилась в этом году на конференции USENIX по проектированию и внедрению операционных систем, где она получила награду за лучшую статью.

Больше информации: https://www.usenix.org/conference/osdi23/presentation/berger