Tpu процессор что это
ЦП против ГП против ТПУ
По сути, ЦП, ГП и ТПУ различаются тем, что ЦП — это процессор, работающий как мозг компьютера, идеально подходящий для программирования общего назначения.
Напротив, GPU — это ускоритель производительности, улучшающий рабочие нагрузки компьютерной графики и ИИ. В то время как TPU — это специально разработанные процессоры Google, которые ускоряют рабочие нагрузки машинного обучения с использованием (конкретной платформы машинного обучения) TensorFlow.
Что такое центральный процессор?
Центральный процессор (CPU) — это основной процессор, который существует во всех ваших интеллектуальных устройствах.
ЦП — это процессор общего назначения, разработанный с несколькими мощными ядрами и большой кэш-памятью, что позволяет ему одновременно запускать несколько программных потоков. Процессор подобен дирижеру в оркестре, он управляет всеми остальными компонентами от памяти до графической карты, выполняя множество функций обработки для системы.
ЦП имеет по крайней мере одно вычислительное ядро, но со временем он развивался, чтобы включать в себя все больше и больше ядер. Наличие нескольких ядер позволяет ЦП выполнять многопоточность — которая позволяет ЦП одновременно выполнять несколько операция на одном ядре.
Что такое графический процессор?
GPU (графический процессор) — это специализированный процессор, который работает как ускоритель производительности вместе с CPU. По сравнению с центральным процессором, графический процессор имеет тысячи ядер, которые могут разбивать сложные задачи на тысячи или миллионы отдельных задач и решать их параллельно. Параллельные вычисления используют тысячи ядер графического процессора для оптимизации различных приложений, включая обработку графики, рендеринг видео, машинное обучение и даже майнинг криптовалют, таких как биткойн. За последнее десятилетие графические процессоры стали незаменимыми для разработки глубокого обучения. Благодаря способности ускорять большие матричные операции и выполнять матричные вычисления смешанной точности за одну операцию, графические процессоры могут ускорить глубокое обучение с высокой скоростью. Эта технология параллельных вычислений делает GPU важнейшей частью современных суперкомпьютеров, вызвавших всемирный бум ИИ.
Центральный процессор против графического (наглядный пример)
Что такое ТПУ?
TPU обозначают Tensor Processing Units, которые представляют собой специализированные интегральные схемы (ASIC). TPU были разработаны Google. Они начали использовать TPU в 2015 году и сделали их общедоступными в 2018 году.
TPU минимизируют время достижения точности при обучении больших и сложных моделей нейронных сетей. Благодаря TPU модели глубокого обучения, на обучение которым раньше уходили недели на GPU, теперь на TPU занимают всего несколько часов.
Бесплатные тензорные процессоры от Google в облаке Colaboratory
Недавно Google предоставил бесплатный доступ к своим тензорным процессорам (tensor processing unit, TPU) на облачной платформе для машинного обучения Colaboratory. Тензорный процессор — это специализированная интегральная схема (ASIC), разработанная Google для задач машинного обучения с использованием библиотеки TensorFlow. Я решил попробовать обучить на TPU сверточную сеть на Keras, которая распознает объекты на изображениях CIFAR-10. Полный код решения можно посмотреть и запустить в ноутбуке.
Фото cloud.google.com
Тензорные процессоры
На Хабре уже писали о том, как устроены TPU (здесь, здесь и здесь), а также почему TPU хорошо подходят для обучения нейронных сетей. Поэтому я не буду углубляться в детали архитектуры TPU, а рассмотрю только те особенности, которые нужно учитывать при обучении нейонных сетей.
Сейчас есть три поколения тензорных процессоров, производительность TPU последнего, третьего поколения составляет 420 TFlops (триллионов операций с плавающей точкой в секунду), он содержит 128 ГБ памяти High Bandwidth Memory. Однако на Colaboratory доступны только TPU второго поколения, у которых 180 TFlops производительности и 64 ГБ памяти. В дальнейшем я буду рассматривать именно эти TPU.
Тензорный процессор состоит из четырех чипов, каждый из которых содержит два ядра, всего в TPU восемь ядер. Обучение на TPU ведется параллельно на всех ядрах с помощью репликации: на каждом ядре работает копия графа TensorFlow с одной восьмой объема данных.
Основа тензорного процессора — матричное устройство (matrix unit, MXU). Оно использует хитрую структуру данных систолический массив размером 128х128 для эффективной реализации операций с матрицами. Поэтому, чтобы наиболее полно использовать ресурсы оборудования TPU, размерность мини-выборки или признаков должна быть кратна 128 (источник). Также из-за особенностей системы памяти TPU желательно, чтобы размерность мини-выборки и признаков была кратна 8.
Платформа Colaboratory
Colaboratory — это облачная платформа от Google для продвижения технологий машинного обучения. На ней можно получить бесплатно виртуальную машину с установленными популярными библиотеками TensorFlow, Keras, sklearn, pandas и т.п. Самое удобное, что на Colaboratory можно запускать ноутбуки, похожие на Jupyter. Ноутбуки сохраняются на Google Drive, можно их распространять и даже организовать совместную работу. Вот так выглядит ноутбук на Colaboratory (картинка кликабельна):
Вы пишите код в браузере в ноутбуке, он выполняется на виртуальной машине в облаке Google. Машина выдается вам на 12 часов, после этого она останавливается. Однако ничто не мешает вам запустить еще одну виртуальную машину и работать еще 12 часов. Только имейте в виду, что после остановки виртуальной машины все данные с нее удаляются. Поэтому не забывайте сохранять нужные данные на свой компьютер или Google Drive, а после перезапуска виртуальной машины загружать заново.
Подробные инструкции по работе на платформе Colaboratory есть здесь, здесь и здесь.
Подключаем тензорный процессор на Colaboratory
По умолчанию Colaboratory не использует ускорителей вычислений GPU или TPU. Подключить их можно в меню Runtime -> Change runtime type -> Hardware accelerator. В появившемся списке выбираем «TPU»:
После выбора типа ускорителя виртуальная машина, к которой подключается ноутбук Colaboratory, перезапустится и станет доступен TPU.
Если вы загружали на виртуальную машину какие-то данные, то в процессе перезапуска они будут удалены. Придется загружать данные заново.
Нейронная сеть на Keras для распознавания CIFAR-10
В качестве примера попробуем обучить на TPU нейронную сеть на Keras, которая распознает изображения из набора данных CIFAR-10. Это популярный набор данных, содержащий небольшие изображения объектов 10 классов: самолет, автомобиль, птица, кот, олень, собака, лягушка, лошадь, корабль и грузовик. Классы не пересекаются, каждый объект на картинке принадлежит только одному классу.
Загружаем набор данных CIFAR-10 средствами Keras:
(x_train, y_train), (x_test, y_test) = cifar10.load_data()
Для создания нейронной сети я завел отдельную функцию. Мы будем создавать одинаковую модель два раза: первый вариант модели для TPU, на котором будем обучать, а второй для CPU, где будем распознавать объекты.
def create_model(): input_layer = Input(shape=(32, 32, 3), dtype=tf.float32, name='Input') x = BatchNormalization()(input_layer) x = Conv2D(32, (3, 3), padding='same', activation='relu')(x) x = Conv2D(32, (3, 3), activation='relu', padding='same')(x) x = MaxPooling2D(pool_size=(2, 2))(x) x = Dropout(0.25)(x) x = BatchNormalization()(x) x = Conv2D(64, (3, 3), padding='same', activation='relu')(x) x = Conv2D(64, (3, 3), activation='relu')(x) x = MaxPooling2D(pool_size=(2, 2))(x) x = Dropout(0.25)(x) x = Flatten()(x) x = Dense(512, activation='relu')(x) x = Dropout(0.5)(x) output_layer = Dense(10, activation='softmax')(x) model = Model(inputs=[input_layer], outputs=[output_layer]) model.compile( optimizer=tf.train.AdamOptimizer(0.001), loss=tf.keras.losses.sparse_categorical_crossentropy, metrics=['sparse_categorical_accuracy']) return model
Пока на TPU нельзя использовать оптимизаторы Keras, поэтому при компиляции модели указывается оптимизатор из TensorFlow.
Создаем модель Keras для CPU, которую на следующем этапе преобразуем в модель для TPU:
cpu_model = create_model()
Конвертируем нейросеть на Keras в модель для TPU
Модели на Keras и TensorFlow можно обучать на GPU без каких-либо изменений. На TPU пока так делать нельзя, поэтому придется преобразовать созданную нами модель в модель для TPU.
Для начала нужно узнать, где находится доступный нам TPU. На платформе Colaboratory это можно сделать следующей командой:
TPU_WORKER = 'grpc://' + os.environ['COLAB_TPU_ADDR']
В моем случае адрес TPU оказался таким — grpc://10.102.233.146:8470 . Адреса отличались для разных запусков.
Теперь можно получить модель для TPU с помощью функции keras_to_tpu_model :
tf.logging.set_verbosity(tf.logging.INFO) tpu_model = tf.contrib.tpu.keras_to_tpu_model( cpu_model, strategy=tf.contrib.tpu.TPUDistributionStrategy( tf.contrib.cluster_resolver.TPUClusterResolver(TPU_WORKER)))
В первой строке включено логирование на уровне Info. Вот что в логе конвертации модели:
INFO:tensorflow:Querying Tensorflow master (b’grpc://10.102.233.146:8470′) for TPU system metadata.
INFO:tensorflow:Found TPU system:
INFO:tensorflow:*** Num TPU Cores: 8
INFO:tensorflow:*** Num TPU Workers: 1
INFO:tensorflow:*** Num TPU Cores Per Worker: 8
.
WARNING:tensorflow:tpu_model (from tensorflow.contrib.tpu.python.tpu.keras_support) is experimental and may change or be removed at any time, and without warning.
Можно видеть, что найден TPU по указанному нами ранее адресу, в нем 8 ядер. Также мы видим предупреждение, что tpu_model является экспериментальной и может быть изменена или удалена в любое время. Надеюсь, что со временем можно будет обучать модели Keras напрямую на TPU без всякого преобразования.
Обучаем модель на TPU
Модель для TPU можно обучать обычным для Keras образом с помощью вызова метода fit :
history = tpu_model.fit(x_train, y_train, batch_size=128*8, epochs=50, verbose=2)
Какие здесь особенности. Мы помним, что для эффективного использования TPU размер мини-выборки должен быть кратен 128. Кроме того, на каждом ядре TPU выполняется обучение с использованием одной восьмой всех данных в мини-выборке. Поэтому размер мини-выборки при обучении задаем в 128*8, получается по 128 картинок для каждого ядра TPU. Можно использовать больший размер, например, 256 или 512, тогда производительность будет выше.
В моем случае на обучение одной эпохи требуется в среднем 6 с.
Качество обучения на 50 эпохе:
Epoch 50/50
— 6s — loss: 0.2727 — sparse_categorical_accuracy: 0.9006
Доля верных ответов на данных для обучения составила 90,06%. Проверяем качество на тестовых данных используя TPU:
scores = tpu_model.evaluate(x_test, y_test, verbose=0, batch_size=batch_size * 8) print("Доля верных ответов на тестовых данных: %.2f%%" % (scores[1]*100))
Доля верных ответов на тестовых данных: 80.79%
Теперь сохраним веса обученной модели:
tpu_model.save_weights("cifar10_model.h5")
TensorFlow выдаст нам сообщение, что веса переданы с TPU на CPU:
INFO:tensorflow:Copying TPU weights to the CPU
Следует отметить, что веса обученной сети сохранились на диск виртуальной машины Colaboratory. Когда виртуальная машина будет остановлена, то все данные с нее сотрутся. Если вы не хотите терять обученные веса, то сохраните их на свой компьютер:
from google.colab import files files.download("cifar10_model.h5")
Распознаем объекты на CPU
Теперь давайте попробуем использовать модель, обученную на TPU, для того, чтобы распознавать объекты на изображениях с помощью CPU. Для этого создаем модель заново и загружаем в нее обученные на TPU веса:
model = create_model() model.load_weights("cifar10_model.h5")
Модель готова к использования на центральном процессоре. Давайте попробуем распознать с ее помощью одно из изображений тестового набора CIFAR-10:
index=111 plt.imshow(toimage(x_test[index])) plt.show()
Картинка маленькая, но можно понять, что это самолет. Запускаем распознавание:
# Названия классов из набора данных CIFAR-10 classes=['самолет', 'автомобиль', 'птица', 'кот', 'олень', 'собака', 'лягушка', 'лошадь', 'корабль', 'грузовик'] x = x_test[index] # Добавляем размерность, т.к. Keras распознает массив изображений x = np.expand_dims(x, axis=0) # Запускаем распознавание prediction = model.predict(x) # Печатаем значения на выходе из сети print(prediction) # Печатаем название класса объекта prediction = np.argmax(prediction) print(classes[prediction])
Получаем список выходных значений нейронов, почти все из них близки к нулю, кроме первого значения, которое соответствует самолету.
[[9.81738389e-01 2.91262069e-07 1.82225723e-02 9.78524668e-07
5.89265142e-07 6.76223244e-10 1.03252004e-10 9.23009047e-09
3.71878523e-05 3.16599618e-08]]
самолет
Распознавание прошло успешно!
Итоги
Удалось продемонстрировать работоспособность TPU на платформе Colaboratory, его вполне можно применять для обучения нейронных сетей на Keras. Однако набор данных CIFAR-10 слишком маленький, его недостаточно для полной загрузки ресурсов TPU. Ускорение по сравнению с GPU получилось небольшим (можете проверить сами выбрав в качеству ускорителя GPU вместо TPU и переобучив модель заново).
На Хабре есть статья, в которой измеряли производительность TPU и GPU V100 на обучении сети ResNet-50. На этой задаче TPU показал такую же производительность, как и четыре GPU V100. Приятно, что Google дает такой мощный ускоритель обучения нейронных сетей бесплатно!
Видео с демонстрацией обучения нейросети Keras на TPU.
Почему TPU так хорошо подходят для глубинного обучения?
Тензорный процессор третьего поколения
Тензорный процессор Google — интегральная схема специального назначения (ASIC), разработанная с нуля компанией Google для выполнения задач по машинному обучению. Он работает в нескольких основных продуктах Google, включая Translate, Photos, Search Assistant и Gmail. Облачный TPU обеспечивает преимущества, связанные с масштабируемостью и лёгкостью использования, всем разработчикам и специалистам по изучению данных, запускающим передовые модели машинного обучения в облаке Google. На конференции Google Next ‘18 мы объявили о том, что Cloud TPU v2 теперь доступен для всех пользователей, включая бесплатные пробные учётные записи, а Cloud TPU v3 доступен для альфа-тестирования.
Но многие спрашивают – какая разница между CPU, GPU и TPU? Мы сделали демонстрационный сайт, где расположена презентация и анимация, отвечающая на этот вопрос. В этом посте я хотел бы подробнее остановиться на определённых особенностях содержимого этого сайта.
Как работают нейросети
Перед тем, как начать сравнивать CPU, GPU и TPU, посмотрим, какого рода вычисления требуются для машинного обучения – а конкретно, для нейросетей.
Представьте, к примеру, что мы используем однослойную нейросеть для распознавания рукописных цифр, как показано на следующей диаграмме:
Если картинка будет сеткой размером 28х28 пикселей серой шкалы, её можно преобразовать в вектор из 784 значений (измерений). Нейрон, распознающий цифру 8, принимает эти значения и перемножает их со значениями параметра (красные линии на диаграмме).
Параметр работает как фильтр, извлекая особенности данных, говорящих о схожести изображения и формы 8:
Это наиболее простое объяснение классификации данных нейросетями. Перемножение данных с соответствующими им параметрами (окраска точек) и их сложение (сумма точек справа). Наивысший результат обозначает наилучшее совпадение введённых данных и соответствующего параметра, которое, скорее всего, и будет правильным ответом.
Проще говоря, нейросетям требуется делать огромное количество перемножений и сложений данных и параметров. Часто мы организовываем их в виде матричного перемножения, c которым вы могли столкнуться в школе на алгебре. Поэтому проблема состоит в том, чтобы выполнить большое количество матричных перемножений как можно быстрее, потратив как можно меньше энергии.
Как работает CPU
Как подходит к такой задаче CPU? CPU – процессор общего назначения, основанный на архитектуре фон Неймана. Это значит, что CPU работает с ПО и памятью как-то так:
Главное преимущество CPU – гибкость. Благодаря архитектуре фон Неймана, вы можете загружать совершенно разное ПО для миллионов различных целей. CPU можно использовать для обработки текстов, управления ракетными двигателями, выполнения банковских транзакций, классификации изображений при помощи нейросети.
Но поскольку CPU такой гибкий, оборудование не всегда знает заранее, какой будет следующая операция, пока не прочтёт следующую инструкцию от ПО. CPU нужно хранить результаты каждого вычисления в памяти, расположенной внутри CPU (так называемые регистры, или L1-кэш). Доступ к этой памяти становится минусом архитектуры CPU, известным как узкое место архитектуры фон Неймана. И хотя огромное количество вычислений для нейросетей делает предсказуемым будущие шаги, каждое арифметико-логическое устройство CPU (ALU, компонент, хранящий и управляющий множителями и сумматорами) выполняет операции последовательно, каждый раз обращаясь к памяти, что ограничивает общую пропускную способность и потребляет значительное количество энергии.
Как работает GPU
Для увеличения пропускной способности по сравнению с CPU, GPU использует простую стратегию: почему бы не встроить в процессор тысячи ALU? В современном GPU содержится порядка 2500 – 5000 ALU на процессоре, что делает возможным выполнение тысяч умножений и сложений одновременно.
Такая архитектура хорошо работает с приложениями, требующими массивного распараллеливания, такими, например, как умножение матриц в нейросети. При типичной тренировочной нагрузке глубинного обучения (ГО) пропускная способность в этом случае увеличивается на порядок по сравнению с CPU. Поэтому на сегодняшний день GPU является наиболее популярной архитектурой процессоров для ГО.
Но GPU всё равно остаётся процессором общего назначения, который должен поддерживать миллион различных приложений и ПО. А это возвращает нас к фундаментальной проблеме узкого места архитектуры фон Неймана. Для каждого вычисления в тысячах ALU, GPU необходимо обратиться к регистрам или разделяемой памяти, чтобы прочесть и сохранить промежуточные результаты вычислений. Поскольку GPU выполняет больше параллельных вычислений на тысячах своих ALU, он также тратит пропорционально больше энергии на доступ к памяти и занимает большую площадь.
Как работает TPU
Когда мы в Google разрабатывали TPU, мы построили архитектуру, предназначенную для определённой задачи. Вместо разработки процессора общего назначения, мы разработали матричный процессор, специализированный для работы с нейросетями. TPU не сможет работать с текстовым процессором, управлять ракетными двигателями или выполнять банковские транзакции, но он может обрабатывать огромное количество умножений и сложений для нейросетей с невероятной скоростью, потребляя при этом гораздо меньше энергии и умещаясь в меньшем физическом объёме.
Главное, что позволяет ему это делать – радикальное устранение узкого места архитектуры фон Неймана. Поскольку основной задачей TPU является обработка матриц, разработчикам схемы были знакомы все необходимые шаги вычислений. Поэтому они смогли разместит тысячи множителей и сумматоров, и соединить их физически, сформировав большую физическую матрицу. Это называется архитектурой конвейерного массива. В случае с Cloud TPU v2 используются два конвейерных массива по 128 х 128, что в сумме даёт 32 768 ALU для 16-битных значений с плавающей точкой на одном процессоре.
Посмотрим, как конвейерный массив выполняет подсчёты для нейросети. Сначала TPU загружает параметры из памяти в матрицу множителей и сумматоров.
Затем TPU загружает данные из памяти. По выполнению каждого умножения результат передаётся следующим множителям, при одновременном выполнении сложений. Поэтому на выходе будет сумма всех умножений данных и параметров. В течение всего процесса объёмных вычислений и передачи данных доступ к памяти совершенно не нужен.
Поэтому TPU демонстрирует большую пропускную способность при подсчётах для нейросетей, потребляя гораздо меньше энергии и занимая меньше места.
Преимущество: уменьшение стоимости в 5 раз
Какие же преимущества даёт архитектура TPU? Стоимость. Вот стоимость работы Cloud TPU v2 на август 2018 года, на время написания статьи:
Обычная и TPU-шная стоимость работы для разных регионов Google Cloud
Стэнфордский университет раздаёт набор тестов DAWNBench, измеряющих быстродействие систем с глубинным обучением. Там можно посмотреть на различные комбинации задач, моделей и вычислительных платформ, а также на соответствующие результаты тестов.
На момент завершения соревнования в апреле 2018 минимальная стоимость тренировки на процессорах с архитектурой, отличной от TPU, равнялась $72,40 (для тренировки ResNet-50 с 93% точностью на ImageNet на спотовых инстансах). При помощи Cloud TPU v2 такую тренировку можно провести за $12,87. Это меньше 1/5 стоимости. Такова сила архитектуры, предназначенной специально для нейросетей.
- Облачные вычисления
- Google Cloud Platform
- Искусственный интеллект
В России появился сверхзасекреченный тензорный процессор — конкурент чипа Google
IVA Technologies, входящая в группу «Хайтэк», созданную экс-помощником депутата Госдумы прошлого созыва — члена комитета по обороне, объявила о появлении первого отечественного тензорного микропроцессора. По данным компании, он превосходит конкурирующее решение Google, однако до получения патента и выхода изделия «в кремнии» организация не желает раскрывать ни технические подробности проекта, ни сумму вложений, ни характер источников финансирования.
Засекреченный тензорный процессор
IVA Technologies, российский производитель телекоммуникационного оборудования и ПО, входящий в группу «Хэйтэк», сообщил о создании первого полностью российского тензорного процессора. Тензорные процессоры – один из подвидов нейронных микросхем, оперирующих особыми объектами, так называемыми тензорами, и предназначенных для выполнения узкого круга математических операций. Они применяются в решении задач машинного обучения.
На просьбу CNews предоставить какую-либо информацию о технических характеристиках процессора в «Хайтэке» ответили отказом, пояснив, что разработка находится в процессе патентования, поэтому подобные сведения предоставляется заинтересованным организациям только на условиях подписания соглашения о неразглашении конфиденциальной информации.
Также не захотели в компании поделиться и данными о сумме средств, затраченных на разработку, которая длится вот уже более двух лет, и даже об источниках финансирования, оставив без конкретного ответа вопрос о том, задействованы ли в проекте собственные, привлеченные или государственные деньги.
Ответ на вопрос о наличии конкретных предзаказов на готовую продукции оказался весьма расплывчатым. «Есть заинтересованность как отечественных, так и зарубежных производителей электроники и провайдеров облачных сервисов», – сообщили в компании, не озвучив конкретных брендов или цифр.
Что известно об изделии
Микропроцессор, получивший название IVA TPU, по заверениям разработчиков, предназначен для сверточных нейронных сетей. В настоящий момент готов макет процессора на базе FPGA (Field-programmable gate array – «программируемая логическая интегральная схема» или ПЛИС) Xilinx Virtex Ultrascale+, представляющий собой полнофункциональный блок на программируемой логике. Разработчики считают, что IVA TPU сможет обогнать первую версию известного тензорного чипа Google TPU, поскольку на это указывают расчетные данные. Точные показатели будут понятны «после его выхода в кремнии», сроков которого в компании также не назвали.
Макет первого российского тензорного процессора IVA TPU
Новинка может найти практическое применение при детектировании и классификации изображений, поиске объектов, повышении качества изображений и в других сферах.
Основными преимуществами IVA TPU в «Хайтэке» называют совместимость с готовым свободным программным обеспечением (TensorFlow), высокую производительность (более 20 TOPS) при малом энергопотреблении и значительно меньшим временем обработки, чем графические процессоры (GPU).
В компании уточнили, что готовят к выпуску «в кремнии» сразу два продукта, реализующих одну и ту же идею: Soft-TPU на основе FPGA и Hard-TPU, воплощенный в виде интегральной схемы специального назначения или ASIC. Разработчики утверждают, что уже сейчас существует возможность наладить выпуск Hard-TPU не самой производительной версии непосредственно на производственных мощностях, расположенных на территории России.
Некоторые факты о «Хайтэке»
«Хайтэк» – группа компаний, которая занимается поставкой и внедрением решений в сфере информационной безопасности, телекоммуникаций, а также проектированием инженерных систем и объектов ИТ-инфраструктуры.
Собственниками ООО «Хайтэк», зарегистрированного 21 ноября 2013 г., по данным выписки из ЕГРЮЛ, значатся Адам Безиев (размер доли в уставном капитале организации – 34%), Юрий Месропов (33%) и Ольга Ильягуева (33%).
Бывшим соучредителем и гендиректором, а также действующим председателем совета директоров общества выступает Николай Ивенев, экс-помощник депутата Госдумы VI созыва (2011-2016 гг.) – члена комитета по обороне.
Николай Ивенев — экс-соучредитель и председатель совета директоров «Хайтэк», бывший помощник члена комитета Госдумы по обороне
По данным «Контур.фокус», за компанией числится 80 госконтрактов на общую сумму в 355 млн руб. Среди заказчиков — Минфин, «Транстелеком», ФАС, МЧС, ракетно-космический центр «Прогресс», Корпорация по организации воздушного движения в РФ, «РТ-информ», «Гринатом», Росэлектроника и др.
Крупная табачная компания сократила объем бумажных документов на треть – за счет внедрения российской СЭД
Документооборот
С 2016 г. в компании открыто направление по разработке телекоммуникационного оборудования под брендом IVA Techonologies. На сегодняшний день под ним осуществляется выпуск продуктовых линеек, включающих платформу для видеоконференций IVA MCU, IP-телефон IVA, коммутаторы серии IVA Stag, систему хранения данных IVA «ЯРъ».
В июне 2018 г. «Хэйтэк» и госкорпорация «Ростех» заключили соглашения о стратегическом сотрудничестве. Соглашением предусматривалась совместная деятельность с целью развития систем унифицированных коммуникаций, систем хранения данных, искусственного интеллекта и машинного зрения.
Концерн «Автоматика» (входит в «Ростех») должен был стать производственной площадкой, на которой будут реализованы разработки «Хайтэка».