Расшифровка стека программных технологий ChatGPT
Расшифровка стека программных технологий ChatGPT

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

Индустрия уделяет больше внимания алгоритму искусственного интеллекта ChatGPT, но OpenAI превратился в платформенный сервис, обслуживающий сотни миллионов пользователей. За последние три месяца соглашение об уровне обслуживания ChatGPT составляло около 99 %, что означает, что он недоступен в среднем около 15 минут в день. Общая техническая архитектура и надежность также привлекли большое внимание.

Диаграмма состояния веб-сайта OpenAI за последние 90 дней
Диаграмма состояния веб-сайта OpenAI за последние 90 дней

Диаграмма состояния веб-сайта OpenAI за последние 90 дней (зеленый цвет указывает на доступность, остальные указывают на ненормальность)

ChatGPT официально не поделился своей технической архитектурой с внешним миром, поэтому сложно понять общую картину архитектуры со 100% точностью. В этой статье делается попытка охватить следующие аспекты:

  • Публичная информация в Интернете (twitter, linkedin и т. д.)
  • Последние требования OpenAI к подбору персонала
  • OpenAI несколько отчетов об ошибках
  • код на Гитхабе

Нарисована общая картина основного стека программных технологий ChatGPT.

Общая картина стека программных технологий ChatGPT
Общая картина стека программных технологий ChatGPT

1. Облачные сервисы

OpenAI — это стартап в области искусственного интеллекта в эпоху облаков. Весь его бизнес построен на общедоступном облаке. Он получил поддержку от AWS на ранних этапах запуска. Следующий разговор является ответом на общедоступную информацию OpenAI по состоянию на 2021 год.

OpenAI использовалAWSоблачный сервис
OpenAI использовалAWSоблачный сервис
Открытая информация OpenAI по состоянию на 2021 год показывает использование облачного сервиса AWS.
Открытая информация OpenAI по состоянию на 2021 год показывает использование облачного сервиса AWS.

Приведенный выше абзац взят из ранней статьи на официальном сайте OpenAI. Видно, что использовалось большое количество сервисов AWS.

За последние два года он получил огромные инвестиции от Microsoft, и очевидно, что услуги будет предоставлять Azure. Совершенно очевидно, что ChatGPT переходит на мультиоблачное решение, в котором доминирует Azure, а количество сервисов AWS будет постепенно уменьшаться.

Кроме того, для управления облачными ресурсами используется сервис управления несколькими облаками Terraform.

2. База данных

ChatGPT Из Основные бизнес-данные хранятся в реляционной базе. данных PostgreSQL середина
ChatGPT Из Основные бизнес-данные хранятся в реляционной базе. данных PostgreSQL середина

Сначала спросите ChatGPT самостоятельно, и однозначного ответа, по сути, нет. Однако более точную информацию можно получить из позиций официального сайта и отчетов о неисправностях:

Основные бизнес-данные ChatGPT хранятся в реляционной базе данных PostgreSQL, которая представлена ​​на официальном сайте. Здесь хранятся учетные записи, AK, разговоры и другая информация сотен миллионов пользователей.

В отчете об ошибке от 20 февраля 2023 года также говорилось, что возникла проблема с основной базой данных PostgreSQL. И упомянул об использовании службы пула соединений PgBouncer.

В то же время кластер Redis использовался в качестве службы кэширования. 20 марта 2023 года в ChatGPT была обнаружена уязвимость безопасности. Некоторые пользователи могли видеть записи чатов других людей, поскольку они наткнулись на ошибку Redis-py, вызвавшую ее. Сеансовая путаница в состоянии отмены соединения Сэм Альтман также извинился в Твиттере.

Redis-py Сеанс прерывается при отмене соединения. bug,CEO Sam Altman Также там twitter Выйди и извинись.
Redis-py Сеанс прерывается при отмене соединения. bug,CEO Sam Altman Также там twitter Выйди и извинись.

Кроме того, я все еще набираю сотрудников и надеюсь узнать о CosmosDB. Пока не подтверждено, в каких сценариях она будет использоваться. CosmosDB — это многорежимная база данных, запущенная Azure. Она поддерживает такие интерфейсы совместимости, как MongoDB, Cassandra, PostgreSQL. и Gremlin. Это флагманский продукт Microsoft в области NoSQL.

Ранее Патрик-Макфадин (Cassandra Committer) упоминал в LinkedIn, что OpenAI использует Cassandra, но в итоге обсуждение оказалось бредом со стороны самого ChatGPT. Пока не подтверждено, действительно ли используется Cassandra или API Cassandra используется в CosmosDB. .

Кроме того, CosmosDB также предоставляет распределенный интерфейс PostgreSQL через приобретенный Citus. Не подтверждено, будет ли Citus использоваться для завершения архитектуры распределенной базы данных.

ChatGPT использует Snowflake, облачное хранилище данных нового поколения, и Tableau для анализа данных. Snowflake, поддерживающий развертывание в нескольких облаках, очень полезен для миграции бизнеса из AWS в Azure.

3. Интерфейс

Что касается веб-интерфейса, четкое использование языка TypeScript и платформы React.

В настоящее время ChatGPT официально не выпустила приложение для мобильных устройств, но уже набирает инженеров iOS и Android, что должно произойти в ближайшее время.

4. Языки программирования приложений и сервисов.

Будучи технологической компанией, основанной на искусственном интеллекте, OpenAI выбирает Python в качестве своего основного языка. Независимо от того, занимаетесь ли вы должностью ИИ или инженером-программистом платформы, вам необходимо хорошо владеть языком Python.

Служба платформы выбирает Python, использует популярную платформу Flask на Python и такие компоненты, как OpenAPI.

5. Структура технологии искусственного интеллекта

Ядром технологической среды искусственного интеллекта является Pytorch, который также может использовать Tensorflow.

OpenAI разработала собственную платформу алгоритмов Triton, ориентированную на графические процессоры, и разместила ее исходный код на github (

https://github.com/openai/triton),Используется вместо NVIDIA из CUDA. направлена ​​на более эффективную разработку алгоритмов машинного обучения. Тритон из используемого языка программирования С++ и python。

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

Более подробную информацию об архитектуре службы обучения и развертывания ИИ еще предстоит раскрыть. Изображение ниже взято из Интернета доктором Чэнь Вэй и представляет собой типичную архитектурную схему большой модели.
Более подробную информацию об архитектуре службы обучения и развертывания ИИ еще предстоит раскрыть. Изображение ниже взято из Интернета доктором Чэнь Вэй и представляет собой типичную архитектурную схему большой модели.

источник:https://zhuanlan.zhihu.com/p/611464068

6. Развертывание приложений, мониторинг эксплуатации и обслуживания.

Контейнерный сервис:Kubernetes

Мониторинг, эксплуатация и обслуживание:Prometheues(Набираем инженеров по эксплуатации и техническому обслуживаниюприезжатьнужно понятьPromQL)

Служба журналов: Splunk

язык программирования: Golang、Python

7. Справочные документы

  1. Должностная инструкция инженера-программиста ChatGPT:

https://openai.com/careers/software-engineer-chatgpt

  1. Отчет об анализе ошибок OpenAI 2023.2.20:

https://status.openai.com/incidents/mq5jgswy45fr

  1. OpenAI с открытым исходным кодом TritonизGithub, адрес:

https://github.com/openai/triton

  1. Патрик Макфадин обсуждает на Linkin, использует ли ChatGPT Cassandra:

https://www.linkedin.com/posts/patrick-mcfadin-53a8046_this-isnt-your-regular-chatgpt-post-so-activity-7031372446536515584-P8fg/?utm_source=share&utm_medium=member_desktop

8. Наконец-то

Автор этой статьи: Е Чжэншэн, программист NineData, генеральный директор Jiuzhang Arithmetic и бывший старший технический эксперт Alibaba Cloud.

NineData Официальный сайт: www.ninedata.cloud, предоставляющий базу данных корпоративного уровня. SQL Инструменты разработки, репликации данных, сравнения, резервного копирования и другие продукты, а также предоставляет услуги, аналогичные ChatGPTизSQL (SQL AI Copilot), можно использовать бесплатно, загрузка не требуется.

Каждый может оставить сообщение или перепечатать!

boy illustration
Эффективная обработка запланированных задач: углубленное изучение секретов библиотеки APScheduler на Python
boy illustration
Рекомендации по облегченному артефакту развязки внутренних компонентов Spring Event (событие Spring)
boy illustration
Go: Лесоруб-лесоруб на колесах Введение
boy illustration
Основы серверной разработки: технология кэширования, которую должен освоить каждый программист
boy illustration
Java Advanced Collections TreeSet: что это такое и зачем его использовать?
boy illustration
Оказывается, у команды go build столько знаний
boy illustration
Node.js
boy illustration
Анализ исходного кода, связанный с запланированными задачами версии ruoyi-vue (7), то есть анализ модуля ruoyi-quartz.
boy illustration
Вход в систему с помощью скан-кода WeChat (1) — объяснение процесса входа в систему со скан-кодом, получение авторизованного QR-кода для входа.
boy illustration
HikariPool-1 — обнаружено отсутствие потока или скачок тактовой частоты, а также конфигурация источника данных Hikari.
boy illustration
Сравнение высокопроизводительной библиотеки JSON Go
boy illustration
Простое руководство по извлечению аудио с помощью FFmpeg
boy illustration
Подсчитайте количество строк кода в проекте
boy illustration
Spring Boot элегантно реализует многопользовательскую архитектуру: концепции и практика
boy illustration
Как интегрировать функцию оповещения корпоративного WeChat в систему планирования xxl-job
boy illustration
SpringBoot интегрирует отправку сообщений через веб-сокет в режиме реального времени
boy illustration
Краткий анализ основных библиотек журналов в Go: узнайте, как интегрировать функции вращения и резки бревен на уровне проектирования.
boy illustration
Реализация API-шлюза с нуля-Golang
boy illustration
[Разговорный сайт] Как Springboot получает значения свойств из файлов конфигурации yml или свойств
boy illustration
Spring Boot — синхронные события приложения против асинхронных событий публикации и подписки. Практический бой
boy illustration
Spring Boot использует Swagger3 для создания документов интерфейса API.
boy illustration
[1269] Использование Gunicorn для развертывания проектов flask.
boy illustration
Краткое изложение 10 способов регистрации bean-компонентов в SpringBoot
boy illustration
Flask Learning-9. 2 способа включения режима отладки (debug mode).
boy illustration
Руководство по настройке самостоятельного сервера для Eudemons Parlu
boy illustration
40 вопросов для собеседований по SpringBoot, которые необходимо задавать на собеседованиях! При необходимости ответьте на вопросы для собеседования SpringBoot [предлагаемый сборник] [легко понять]
boy illustration
Через два года JVM может быть заменен GraalVM.
boy illustration
Разрешение циклических зависимостей Spring Bean: существует ли неразрешимая циклическая ссылка?
boy illustration
Разница между промежуточным программным обеспечением ASP.NET Core и фильтрами
boy illustration
[Серия Foolish Old Man] Ноябрь 2023 г. Специальная тема Winform Control Элемент управления DataGridView Подробное объяснение