3 мая, 2024

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  Практика: Girard-Perregaux представляет хронограф Laureato Ti49 | Следи за временем

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

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

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

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

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