Понятие точности в процессе проектирования и верификации ИС

Понятие точности в процессе проектирования и верификации ИС

Выпуск 2(6676) от 24 января 2019 г.
РУБРИКА: ПРОРЫВНЫЕ ТЕХНОЛОГИИ МИКРО И РАДИОЭЛЕКТРОНИКИ

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

По мере того как электронная промышленность все шире внедряет машинное обучение, правильность (accuracy) становится одним из основных конструктивных соображений. Системы обучения используют уровень точности, невозможный при формировании логического вывода на оконечных устройствах. Разработчики сознательно вводят «неправильности» с целью снижения издержек. Требуется лучше понять смысл правильности, особенно в критических с точки зрения безопасности приложениях, таких как автономное вождение.

Правильность часто путают с предсказуемостью (predictability) и воспроизводимостью (repeatability), особенно когда речь идет о процессах. Например, в технологическом процессе разработки снижение правильности – ​приемлемый компромисс, который достигается путем абстракции и позволяет оценивать систему в более широком контексте. Это может привести к улучшению процесса проектирования и его большей предсказуемости. Однако если снижение правильности приводит к плохим проектным решениям, такой подход становится неприемлемым. Достоверность (fidelity) более важна, чем правильность.

Абстракция – ​необходимый элемент при работе с большими моделями, позволяющий выйти на обобщения, обеспечивающие возможность быстрого моделирования. При этом необходимо не допускать существенной потери точности, которая может сказаться на результатах моделирования (см. рисунок).



Источник: Semiconductor Engineering

Графическое представление сочетаний правильности и прецизионности


ОБЩИЕ ПОДХОДЫ К ПРОЕКТИРОВАНИЮ

Прежде чем рассматривать конкретные погрешности, присущие инструментальным средствам САПР или машинному обучению, важно выявить неточности, содержащиеся в математическом аппарате вычислительных средств. Вычисления с плавающей запятой по своей сути являются приближенными и не вполне предсказуемыми. Аналоговое проектирование, как и цифровое проектирование и машинное обучение, завязано на данный вычислительный подход. В последнее время корпорация Google провела большую аналитическую работу по определению нового представления величины с плавающей запятой для машинного обучения. Выяснилось, что десятичное число 0,1 не имеет точного представления ни в двоичной системе представления данных, ни в системе чисел с плавающей запятой. Фактически его значение – ​0,1000000000000000055511151231257827021181583404541015625. Кроме того, обычные математические правила неприменимы к операциям с плавающей запятой, и в этом случае операция (a+b)+c не обязательно даст тот же результат, что операция a+(b+c). В своих выводах специалисты корпорации Google не одиноки: многие разработчики инструментальных средств САПР утверждают, что данные средства никогда еще не давали на 100% правильного результата (да и возможен ли он?).

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

По мере того как конструкции ИС будут усложняться, число контрольных точек будет увеличиваться. Однако полная проверка и моделирование становятся все менее достижимыми. Существует верхний предел правильности, обеспечиваемый моделями Liberty. Сами по себе модели Liberty представляют собой абстракцию моделей SPICE и по объему составляют от 1 до 3% этих моделей – ​в зависимости от технологического поколения и величин измерения.

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

Неточность процесса обучения превращает его в универсальную кривую подгонки – ​никогда не известно, какой набор весов окажется наилучшим. Это особенно верно в случаях проблем с проектированием на физическом уровне, когда, например, встает вопрос об интеграции в систему источника питания (с учетом срока службы). Имеют значение и другие факторы, такие как надежность, соответствие промышленным требованиям и факторам окружающей среды.

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

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

Перед фирмами-поставщиками инструментальных средств САПР встает задача поставки не только собственно инструментария, но и решений, которые позволят пользователям достичь необходимого уровня автоматизации с требуемой правильностью. Даже формальные инструменты, являющиеся антитезой аппроксимации, способны обеспечить строгие результаты, соответствующие прагматическим потребностям разработчиков интеллектуальной собственности (СФ-блоков) и «систем-на-кристалле». В применениях, ориентированных на обеспечение безопасности, правильность формальных результатов может зависеть от того, на каком этапе проектирования осуществляется анализ отказов, или того, какой тип анализа используется.

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


ТОЧНОСТЬ МАШИННОГО ОБУЧЕНИЯ

На этом проблемы при проектировании систем машинного обучения не заканчиваются. Так, может возникнуть необходимость в введении дополнительных защитных полос частот. Другой проблемой может стать невозможность нахождения оптимального решения. Все современные методы машинного обучения опираются на операции с плавающей запятой. Стоимость и точность становятся основными факторами эффективности машинного обучения. При этом не важно, с какой конструкцией сталкивается разработчик – ​графический процессор, центральный процессор или вентильная матрица, программируемая пользователем (FPGA). Правильность конструкции также очень важна, поскольку она представляет собой элемент качества. Многие встраиваемые и мобильные решения, ориентированные на формулирование логических выводов, требуют сопоставления и перестройки исходной модели сети с исчисления в значениях с плавающей запятой на операции с фиксированной запятой или даже с целыми числами, что требует дополнительного согласования таких параметров, как стоимость, правильность и производительность.

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

Вопрос о том, какая прецизионность требуется для достижения определенного уровня правильности, по-прежнему открыт. При машинном обучении с использованием операций с плавающей запятой возникает задача перехода к операциям с фиксированной запятой. Для этого используется процесс квантования, чтобы удостовериться, что частота допустимых ошибок не превышена. Обычно приемлемой считается частота ошибок менее 1%. Однако это во многом зависит от конечного применения – ​в ряде случаев даже 1% может оказаться неприемлемо высоким значением.

Во многих современных исследованиях для операций умножения с накоплением (mutltiply/accumulate operation, MAC) используются вычисления в памяти, в большинстве из которых задействованы аналоговые вычисления, что сказывается на точности. Кроме того, такие вычисления могут изменяться из-за условий окружающей среды. Перед тем как эффективно разворачивать подобные системы, необходимо найти способы проводить анализ чувствительности этих функций, результатом чего, в свою очередь, может стать более глубокое понимание метрик правильности.


ЗАКЛЮЧЕНИЕ

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

 

Brian Bailey. The Cost of Accuracy. Semiconductor Engineering, December 13, 2018: https://semiengineering.com/the-cost-of-accuracy/


ЧИТАЙТЕ ТАКЖЕ

Выпуск 22(6746) от 11 ноября 2021 г. г.
Выпуск 16(6740) от 19 августа 2021 г. г.
Выпуск 13(6737) от 08 июля 2021 г. г.