ММООЗЗГГ.ru

Словарь ИИ

Что такое тензор

Коротко

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

Математика ИИ · tensor

Михаил МозгПроверено: 1 минута чтения

Ребенку

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

Простыми словами

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

Для бизнеса

Руководителю это понятие важно через деньги на оборудование. Веса модели хранятся именно в таких массивах, и от их размера и точности чисел зависит, сколько видеопамяти нужно и какой сервер покупать. Если хранить каждое число в 16 битах вместо 32, модель занимает примерно вдвое меньше места; квантизация до 8 бит и ниже сокращает объем еще сильнее, но может снизить качество ответов. Поэтому при выборе своего сервера считают не только число параметров, но и формат чисел, длину контекста и размер пачки запросов. Ошибка в расчете памяти обходится дорого, и ее снимают тестом модели на целевой видеокарте до закупки.

Для специалиста

Тензор (tensor) в глубоком обучении это массив чисел, расположенных на регулярной сетке с переменным числом осей (axes); так его определяют Goodfellow, Bengio и Courville в книге Deep Learning (2016). Число осей называют рангом или порядком (rank, ndim), набор длин по осям формой (shape). Скаляр имеет ноль осей, вектор одну, матрица две. В документации PyTorch объект torch.Tensor описан как многомерная матрица из элементов одного типа данных: по умолчанию float32, также float16, bfloat16, int8 и другие; он размещается в памяти процессора или видеокарты (CUDA). Типичные формы: пакет изображений (N, C, H, W), последовательность эмбеддингов (batch, seq_len, d_model). Поэлементные операции, свертки, матричное умножение и трансляция размерностей (broadcasting) выполняются библиотекой на GPU, а градиенты по таким массивам считает автоматическое дифференцирование. В физике и дифференциальной геометрии понятие строже: это полилинейный объект с правилами преобразования при смене базиса.

Не путать. Не путать с тензором в физике и механике, где так называют величину с особыми правилами пересчета при смене системы координат: в ИИ это многомерный массив чисел.

Пример

Например, партия из 32 цветных фото товаров размером 224 на 224 точки попадает в модель как один тензор формы (32, 3, 224, 224), и модель обрабатывает всю партию за один проход.

Связанные термины

Вопросы и ответы

Чем тензор отличается от матрицы?

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

Почему библиотеки для ИИ работают с тензорами?

Так данные и веса лежат в памяти единым блоком, и видеокарта обрабатывает их параллельно. Одна такая операция заменяет миллионы отдельных вычислений.

Источники

Где это применяют в компании

Не уверены, нужно ли это вашей компании?

Карта ИИ-решений
Написать в Telegram