Comments 9
со временем в RISC-V будет много возможностей
Это расширение, а значит его поддержка не обязана присутствовать в процессоре. Будет как с AVX-512 у Интела, что есть лишь на самых дорогих моделях (топовые i9 и серверные).
Да, конечно, поддержка расширения не обязана быть во всех абсолютно процессорах. Но тот же инференс является актуальной нагрузкой не только для серверных процессоров: умная клавиатура, голосовые помощники, фотокамера с AI-эффектами, расшифровка голосовых заметок и т.д.
Могу привести пример достаточно бюджетной платы Banana Pi BPI-F3 с 8-ядерным процессором SpacemiT K1 RISC-V (ближе к концу предыдущего текста говорилось о ней): все 8 ядер с векторным расширением RISC-V RVV 1.0, половина ядер с кастомным матричным раcширением RISC-V SpacemiT IME.
Как пример использования:
https://t.me/iiotandembeddedgroup/477
Если T-Head добавит в свое расширение поэлементные операции над матрицами (+
, -
, *
, /
) и поддержку int и float типов, то они закроют большую часть возможностей RVV. Не рассматривается ли вариант слияния этих расширений в одно или разделения функций?
Ускоряют ли матричные расширения популярные сейчас модели с квантизацией?
На сколько я понимаю более сложные функции вроде softmax, maxpooling и sigmiod, все равно реализуются циклом элементам или для них тоже если какие-то оптимизации?
Они уже добавили поэлементные для int32 и int64, но пока это все на qemu, нельзя оценить, что будет выгоднее. О слиянии расширений в настоящее время ничего на глаза не попадалось.
По моделям с квантизацией: дополнила заключение обзора сводной таблицей по существующим матричным расширениям -- поддержка int8 у всех заявлена.
Про активационные функции (softmax, sigmoid) -- используется векторизация, про max-pooling (сжатие) -- планируется в следующих версиях независимого матричного расширения T-Head (в статье говорится, что со временем его планируют развить до полноценного AI Matrix++ Extension, поддерживающего широкий спектр AI-специфичных матричных операция).
зачем платить за то, что тебе не нужно? ведь в этом основная идея riscv. есть огромный спектр задач, для которых rvv в самый раз. в конце концов никто не мешает миксовать "легкие" и "тяжелые" ядра.
Заглянем в хрустальный шар: как продвигается разработка стандартных матричных расширений RISC-V