Pull to refresh

Comments 10

Добавьте пожалуйста расшифровки аббревиатур, непосвященный человек может только догадываться или гуглить, расшифровка облегчила бы чтение.
PCM ячейка — просто управляемый переменный резистор, аналоговый элемент. Что ещё за «8-битные числа с плавающей точкой»? Даже, если на I/O-операциях происходит оцифровка сопротивления, то где там в 8-ми битах плавать точке?
double -> float -> float16 -> float8. Хоть float8 и не описан в IEEE 754, создать его руками не так что бы очень сложно. SEM например 1/2/5, либо 1/3/4
интересно, а мю и а-законы можно считать плавающей точкой? и они используются в нейро-сетках?
ru.wikipedia.org/wiki/G.711
создать его руками не так что бы очень сложно

Так дело не в сложности, а в разумности. Хотя я склоняюсь, что эти «8 бит» в резисторе просто кривой перевод плохо выбранной аналогии.
Точка у них по видимому начинает и прекращает плавать на входе-выходе информации в этот чип. Внутри чипа все хранится в аналоговой форме — умножения на веса происходят в аналоговой форме тоже…
Аналоговый элемент же и означает, что у него нет никаких фиксированных (дискретных) состояний. А почти бесконечное множество возможных состояний из какого-то непрерывного диапазона.

Но остальные части чипа, не аналоговые, а классические цифровые — при взаимодействии аналоговых и цифровых (дискретных) частей и происходит оцифровка сигнала.

Ну а в виде целого числа представлять этот результат оцифровки или с плавающей точкой — вопрос цифровой обвязки и поставленной задачи. Аналоговую сущность непрерывной (но не слишком точно измеряемой) величины лучше передают как раз числа с плавающей точкой.
В приложении к нейросетям уже давно от чисел c плавающей точкой стандартной точности (FP32) переходят к половинной (FP16), FP32 явно избыточно, а FP16 позволяют получить отличный выигрыш в скорости и энергопотреблении. В последних работах приходят к выводу что и 8 бит для ИНС в большинстве случаев вполне достаточно. При этом в основном работают с INT8, т.е целыми числами разрядностью 8 бит, что дает всего 256 фиксированных градаций. Этого иногда оказывается мало. Не в плане точности, в плане диапазона — при INT8 максимальный сигнал (вес) может отличаться от минимального только в 256 раз максимум. И в плане дискретности — при малых значениях получаются скачки сразу на 100% (1==>2) 50% (2==>3) и т.д.

Сейчас как раз обсуждают, что FP8 для AI разработок вероятно подходит лучше чем INT8: 8-Bit Precision for Training Deep Learning Systems
А нейросеть они на этом как запускали? И при чём здесь локальность вычислений? Имеется в виду то, что одна ячейка — это один вес; и она, как бы, автоматически «умножает» входящий ток на коэффициент?
Кстати, есть техники оптимизации ввода-вывода памяти для нейронных сетей, когда используется еще одна нейронная сеть чтобы определить, — какие ячейки надо изменять, чтобы сеть быстрее тренировалась.
Напряжение тока это интересно…
Sign up to leave a comment.