Исследователи распространяют тензорное программирование на непрерывный мир

Фото: Массачусетский технологический институт.

Когда в 1957 году дебютировал язык программирования FORTRAN, он изменил способы программирования компьютеров учеными и инженерами. Сложные вычисления внезапно могут быть выражены в кратких математических обозначениях с использованием массивов — коллекций значений, которые упрощают описание операций с данными. Эта простая идея превратилась в сегодняшние «тензоры», которые обеспечивают работу многих из самых передовых в мире систем искусственного интеллекта и научных вычислений с помощью современных платформ, таких как NumPy и PyTorch.

Традиционное тензорное программирование предполагает, что все данные находятся в целочисленной сетке — например, значения хранятся в координатах (1, 2) или (5, 7). Это предположение позволило десятилетиями оптимизировать как аппаратное, так и программное обеспечение. Тензоры с данными в целочисленных сетках сейчас, по-видимому, повсюду в программировании и являются основой многих вычислительных парадигм, таких как машинное обучение и научные вычисления. Но многие наборы реальных данных не вписываются в эту сетку.

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

Теперь исследователи из Лаборатории компьютерных наук и искусственного интеллекта Массачусетского технологического института (CSAIL) нашли способ перенести эти непрерывные наборы данных в знакомый тензорный мир. Их новая структура, называемая непрерывной тензорной абстракцией (CTA), позволяет хранить данные и получать к ним доступ в координатах действительных чисел — например, позволяя программистам писать «A[3.14]” вместо просто “А[3]”.

Он также представляет новый язык, называемый непрерывными Einsums, обобщение нотации суммирования Эйнштейна, широко используемой в традиционном тензорном программировании и первоначально введенной Альбертом Эйнштейном для выражения вычислений между непрерывными тензорами в краткой, математической форме. Работа опубликовано в Труды ACM по языкам программирования.

Представление непрерывных данных в виде массива кажется невозможным — в конце концов, действительные числа бесконечны, а массивы имеют конечный размер. Команда Массачусетского технологического института преодолела эту проблему с помощью умной концепции, называемой кусочно-постоянными тензорами, которая делит непрерывное пространство на управляемые области, имеющие одинаковое значение. Это похоже на создание большого коллажа путем вырезания и склеивания прямоугольников из миллионов обычной бумаги разного цвета (например, искусство Пита Мондриана, изображенное на баннере): основная информация сохраняется, но в такой форме, которую может обработать оборудование.

Такой подход позволяет выразить ранее громоздкие алгоритмы в одной компактной строке тензорного кода. Задачи, которые когда-то требовали тысяч строк специализированной логики — от анализа 3D-сканирований LiDAR до моделирования потока жидкости или моделирования физических систем — теперь могут быть написаны на знакомом математическом языке высокого уровня Einsum и эффективно выполнены на современных ускорителях.

«Программы, для написания которых потребовалось 2000 строк кода, могут быть написаны в одну строку с помощью нашего языка», — говорят Томас и Герд Перкинс из Массачусетского технологического института, профессор электротехники и информатики и главный исследователь CSAIL Саман Амарасингхе, старший автор исследования. «Наша работа показывает, что для любой задачи, связанной с непрерывными данными, тензорное программирование может помочь вам представить такие программы более разнообразными способами, чем предполагали ученые».

Другой старший автор, профессор Массачусетского технологического института Джоэл Эмер — главный исследователь CSAIL и старший заслуженный научный сотрудник NVIDIA — добавляет: «Непрерывные Einsums интуитивно работают так же, как и все более популярные Einsums для тензоров, определенных на регулярных сетках, что упрощает внедрение нового расширения для программистов».

Обоснование необходимости непрерывных тензоров

В одном тематическом исследовании исследователи CSAIL обнаружили, что CTA может помочь пользователям осуществлять поиск в 2D-пространствах, например тех, которые вы найдете в географических информационных системах (ГИС), таких как Google Maps. Команда использовала два разных метода запроса: поиск по рамке, при котором система извлекает все точки в пределах квадратной области, указанной пользователями, и поиск по радиусу, при котором она находит точки данных, расположенные в пределах контура круга, заданного пользователем.

В ходе этих геопространственных тестов CTA создал поисковые программы, в которых в 62 раза меньше строк кода, чем в инструменте Python. Стройный, который помогает пользователям исследовать фигуры и манипулировать ими. При поиске по радиусу система CSAIL также работала примерно в девять раз быстрее.

CTA продемонстрировал еще более ошеломляющие улучшения при программировании алгоритмов машинного обучения для анализа закономерностей при поиске в трехмерном облаке точек. При реализации «Свертка точек ядра» требует более 2300 строк кода, подходу CSAIL потребовалось всего 23 строки для кода той же задачи — другими словами, в 101 раз короче.

Система также была протестирована на ее способность находить особенности в определенных участках хромосом в геноме человека. Хитрость CTA помогла выполнить эти поисковые запросы, сгенерировав код, который был в 18 раз короче, но в среднем немного быстрее, чем три сопоставимых базовых показателя.

Другое тематическое исследование показало, насколько полезным может быть CTA для задач глубокого 3D-обучения, которые помогают роботам видеть окружающую среду, прежде чем брать объекты. В частности, их система преуспела в расчете точек данных в пределах нейронное поле излучения (NeRF), подход глубокого обучения, который создает 3D-сцену с использованием 2D-изображений. В этой задаче он оказался почти в два раза быстрее, чем сопоставимый инструмент PyTorch, при этом написав примерно на 70 строк кода меньше.

Каждый эксперимент показал, как тензоры могут ускорить анализ различных сложных приложений. «Раньше тензорный и нетензорный мир в значительной степени развивались изолированно, независимо разрабатывая свои собственные алгоритмы и структуры данных», — говорит ведущий автор Джэён Вон СМ ’23, доктор философии Массачусетского технологического института. студентка CSAIL под руководством Эмера и Амарасингхе.

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

«Мы считаем, что это послужит мостом между двумя мирами», — добавляет Вон. «Более того, мы стремимся изучить, как оптимизации из нетензорного мира — например, могут ли ядра трассировки лучей ускорять тензорные программы — могут быть переосмыслены и применены через призму непрерывной тензорной записи».

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

Дополнительная информация:
Джэён Вон и др., Непрерывная тензорная абстракция: где индексы реальны, Труды ACM по языкам программирования (2025). DOI: 10.1145/3763146

Цитирование: Исследователи распространяют тензорное программирование на непрерывный мир (2025 г., 28 ноября), получено 28 ноября 2025 г. с https://techxplore.com/news/2025-11-tensor-world.html.

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

2025-11-28 14:20:00


1764377374
#Исследователи #распространяют #тензорное #программирование #на #непрерывный #мир

Читайте также

Read more:  Фигурист, чьи родители погибли в результате столкновения в воздухе в Вашингтоне, едет на Олимпийские игры – -

Leave a Comment

This site uses Akismet to reduce spam. Learn how your comment data is processed.