Сеанс прикладной футурологии
Oct. 3rd, 2022 12:02 pm Когда девопсу нечего делать (на самом деле есть чего, конечно, просто пиририф!), он, как известно, лижет яйца ставит линупс пишет в днявку.
Ну и вот. Некоторый прогноз про компьютеры, как я это вижу.
Собственно, это все уже почти здесь. Да, я говорю за нейросети. Эта область стремительно развивается.
В железе это все реализует Apple. Интел/АМД отстают, но скоро подтянутся.
При этом то, что сейчас демонстрируют нейронки, которые генерят картинки по описанию, это очень неплохо, но медленно! Картинка должна генериться мгновенно, те за один кадр развертки монитора (1/60 или 1/120 секунды). Понятно, что для этого нужно больше мощностей.
Таким образом, если посмотреть ну скажем на 10 лет вперед, комп должен быть:
Примерно в таком вот формате. Я уверен, что Apple примерно такое и сделает, а вот насчет PC не уверен. Но очевидно, что ML на GPU это тупик и костыль.
Ну и вот. Некоторый прогноз про компьютеры, как я это вижу.
Собственно, это все уже почти здесь. Да, я говорю за нейросети. Эта область стремительно развивается.
В железе это все реализует Apple. Интел/АМД отстают, но скоро подтянутся.
Вот интересная статья, цитирую (это про Mac M1):
Everyday examples of features reliant on ML include speech recognition, face recognition, and most recently Live Text and Visual Look Up... the hard work is performed on its ANE (Apple Neural Engine) and, in parts, the GPU, which are far quicker and don’t steal cycles from other code running on its general-purpose cores... It’s believed that the ANE also benefits from the Unified Memory model of M1 series chips...
Итак, важные факты:
- Выделенные блоки для ускорения ML
- Unified Memory model
- Прозрачное и быстрое выполнение натренированных заранее нейронок на NE
- это все выполняется локально на устройстве
- не грузит general purpose CPU
- выполняется в разы быстрее чем на CPU
При этом то, что сейчас демонстрируют нейронки, которые генерят картинки по описанию, это очень неплохо, но медленно! Картинка должна генериться мгновенно, те за один кадр развертки монитора (1/60 или 1/120 секунды). Понятно, что для этого нужно больше мощностей.
Таким образом, если посмотреть ну скажем на 10 лет вперед, комп должен быть:
- CPU - 16 - 32 ядер, включая боле слабые, но меньше жрущие ядра
- блок neural engines, 32 - 64 модуля
- все это соединено либо вообще напрямую, либо через сверхскоростной коммутатор, который находится в центре системы
- unified memory model
- 160 - 320 гиг оперативной памяти
- одновременная работа нескольких больших нейронок: распознавание речи, txt2img, txt_search, и тд
- приложения занимают нужное количество NE ресурсов, потом освобождают
- sub 1 sec время реакции на запросы пользователя
- NE реализован как пул очень тупых, но быстрых специализированных модулей (как в видеокартах, но без всего этого маразма с щейдерами - эти костыли должны отмереть)
- либо же несколько блоков очень больших FPGA, которые моментально прошиваются под каждую ML модель
- OS должна поддерживать управление памятью и пулом NE, точно так же как сейчас она поддерживает скедулинг на разные ядра процессора. Это должно быть прозрачно для приложений и с универсальным API (аналог CUDA и прочих подобных API/SDK), этот API должен быть встроен в систему, low level связка с железом предоставляется производителем NE в виде драйвера (аналог DirectX/OpenGL и драйвера видюхи)
Примерно в таком вот формате. Я уверен, что Apple примерно такое и сделает, а вот насчет PC не уверен. Но очевидно, что ML на GPU это тупик и костыль.