Как использовать Amazon AWS Bedrock и решения для этой задачи.
В этой статье мы рассмотрим, как работать с Amazon AWS Bedrock и лучшие практики его использования.

Как использовать Amazon AWS Bedrock и решения для этой задачи.

В этой статье представлено пошаговое руководство по использованию Amazon AWS Bedrock. Благодаря подробным объяснениям администраторы, специалисты по DevOps и инженеры машинного обучения смогут получить наилучший опыт работы с моделями искусственного интеллекта, используя этот сервис.
0 Акции
0
0
0
0
  1. Как безопасно и с минимальной задержкой использовать Amazon AWS Bedrock?
  2. Ниже вы прочитаете следующее.
  3. Amazon AWS Bedrock — описание и области применения
  4. Предлагаемые архитектуры
    1. Простая архитектура — Сервер приложений ➜ Bedrock
    2. Гибридная архитектура — Edge + Bedrock + GPU Cloud
    3. Архитектура для больших масштабов и обеспечения конфиденциальности.
  5. Настройка и практические примеры
    1. Предварительные требования (AWS и локальная среда)
    2. Пример вызова модели с помощью AWS CLI (среда выполнения)
    3. Вызов модели с помощью Python (boto3)
    4. Разверните локальный прокси-сервер для кэширования и ограничения скорости запросов.
  6. Безопасность и конфиденциальность
    1. Передовые методы управления идентификацией и доступом (IAM)
    2. Шифрование и KMS
    3. Сетевые и VPC-конечные точки
    4. Ведение журналов и мониторинг
  7. Оптимизация производительности и затрат
    1. Сниженная задержка
    2. снижение затрат
    3. Импорт моделей в облако GPU
  8. Реальные сценарии и сравнение местоположений
  9. Практические советы и контрольный список перед запуском.
  10. Резюме и заключение

Как безопасно и с минимальной задержкой использовать Amazon AWS Bedrock?

Amazon AWS Bedrock — это управляемый сервис для доступа к... Модели фундамента Доступно от нескольких поставщиков (таких как Anthropic, AI21, Cohere и собственные модели Amazon). Это практическое и техническое руководство содержит пошаговые инструкции по использованию Bedrock, рекомендуемые архитектуры, конфигурации безопасности, советы по снижению задержек и примеры кода для развертывания в производственной среде.

Ниже вы прочитаете следующее.

В данной статье рассматриваются следующие вопросы:

  • Представляем возможности Bedrock и сценарии его использования.
  • Предлагаемая архитектура для вывода и тонкой настройки (гибридная с использованием облачных вычислений на графических процессорах).
  • Настройка безопасности: IAM, конечные точки VPC, KMS и ведение журналов.
  • Практические советы по снижению задержки и управлению затратами.
  • Примеры кода (AWS CLI, Python) и развертывание локального прокси-сервера.
  • Рекомендации по местоположению и сети основаны на данных более чем 85 точек по всему миру.

Amazon AWS Bedrock — описание и области применения

Bedrock позволяет использовать базовые модели для генерации текста, суммирования, извлечения информации и других приложений без необходимости управления инфраструктурой моделей. НЛП Используйте стандартный API Bedrock для вызова моделей, отправки запросов и обработки ответа в вашем приложении.

Для приложений чувствительный к задержке (например, для торговли или игр) рекомендуется использовать Bedrock в сочетании с локальными серверами с графическими процессорами или VPS, расположенными вблизи целевого рынка, чтобы уменьшить задержку.

Предлагаемые архитектуры

Простая архитектура — Сервер приложений ➜ Bedrock

В этой архитектуре приложение (например, Flask/FastAPI) развертывается на VPS или облачном сервере, а запросы отправляются в Bedrock через API. Она подходит для прототипов и небольших проектов.

  • Преимущества: Простая реализация, низкие первоначальные затраты.
  • Недостатки: Увеличено время отклика для пользователей, находящихся за пределами региона AWS Bedrock.

Гибридная архитектура — Edge + Bedrock + GPU Cloud

В этой модели периферийный уровень расположен в местах, близких к пользователям (из более чем 85 локаций компании). Обработка данных, чувствительных к задержкам, и первоначальное кэширование выполняются на локальных серверах или выделенных VPS для торговли/игр. Мощные вычислительные запросы перенаправляются в GPU Cloud или Bedrock. Для обеспечения безопасности и сокращения количества публичных путей используется PrivateLink/VPC Endpoint.

  • Преимущества: Низкий пинг, контроль затрат, возможность использования графического сервера для обучения и тонкой настройки.

Архитектура для больших масштабов и обеспечения конфиденциальности.

Все запросы направляются в AWS Bedrock через конечную точку VPC и транзитный шлюз. Конфиденциальные данные фильтруются или токенизируются перед передачей, а для шифрования используется KMS.

Настройка и практические примеры

Предварительные требования (AWS и локальная среда)

  • AWS CLI и надлежащий доступ IAM.
  • Python 3.8+ и boto3 или желаемый SDK
  • Ключ KMS для шифрования в WS
  • (Необязательно) Сервер на графическом процессоре для тонкой настройки или кэширования с низкой задержкой.

Начальная настройка CLI AWS:

aws configure
# Enter AWS Access Key, Secret, region (e.g., us-east-1)

Пример вызова модели с помощью AWS CLI (среда выполнения)

Пример вызова модели с помощью aws bedrock-runtime (название команды может отличаться в зависимости от версии CLI):

aws bedrock-runtime invoke-model \
  --model-id anthropic.claude-v1 \
  --body '{"input":"سلام، خلاصه‌سازی کوتاه از متن زیر ارائه بده..."}' \
  response.json

Результат сохраняется в файле response.json. Чтобы извлечь тело ответа из jq:

cat response.json | jq -r '.body'

Вызов модели с помощью Python (boto3)

Простой пример кода для отправки запроса и получения ответа (обратите внимание, что идентификаторы моделей видны в консоли Bedrock):

import boto3
import json

client = boto3.client('bedrock-runtime', region_name='us-east-1')

prompt = "Explain in Persian: بهترین روش برای کاهش latency در inference چیست؟"

resp = client.invoke_model(
    modelId='ai21.j2-large',
    contentType='application/json',
    accept='application/json',
    body=json.dumps({"input": prompt})
)

print(resp['body'].read().decode())

Разверните локальный прокси-сервер для кэширования и ограничения скорости запросов.

Для снижения затрат и задержки легковесный прокси-сервер может кэшировать похожие запросы или обрабатывать различные скорости. Ниже приведен простой пример на Flask, который можно развернуть на VPS, расположенном рядом с пользователем.

from flask import Flask, request, jsonify
import requests, boto3, json

app = Flask(__name__)
cache = {}

@app.route('/api/generate', methods=['POST'])
def generate():
    prompt = request.json.get('prompt')
    if prompt in cache:
        return jsonify({"cached": True, "response": cache[prompt]})
    client = boto3.client('bedrock-runtime')
    resp = client.invoke_model(modelId='ai21.j2-large', contentType='application/json', accept='application/json', body=json.dumps({"input": prompt}))
    body = resp['body'].read().decode()
    cache[prompt] = body
    return jsonify({"cached": False, "response": body})

if __name__ == '__main__':
    app.run(host='0.0.0.0', port=8080)

Безопасность и конфиденциальность

Передовые методы управления идентификацией и доступом (IAM)

С самого начала Наименьшие привилегии Создайте роль, специфичную для приложения, с политикой, ограниченной InvokeModel, и используйте временные учетные данные (STS) для служб.

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect":"Allow",
      "Action":[ "bedrock-runtime:InvokeModel" ],
      "Resource": "*"
    }
  ]
}

Шифрование и KMS

Используйте KMS для шифрования данных, хранящихся в S3, и мониторинга доступа. Для соблюдения правил конфиденциальности фильтруйте или токенизируйте конфиденциальные данные перед отправкой в Bedrock.

Сетевые и VPC-конечные точки

Используйте VPC Endpoint (PrivateLink) для частного подключения к Bedrock, чтобы предотвратить прохождение трафика через общедоступный интернет. Рекомендуется создать ограниченную группу безопасности, разрешающую доступ только необходимым IP-адресам.

Ведение журналов и мониторинг

Включение CloudWatch, CloudTrail и AWS Config имеет важное значение для обеспечения полной прозрачности активности. Рекомендуется отправлять журналы в корпоративную SIEM-систему или внутреннюю систему мониторинга.

Оптимизация производительности и затрат

Сниженная задержка

  • Размещение прокси-серверов и кэшей в местах, близких к пользователям (используется более 85 местоположений).
  • Для срочных запросов используйте периферийные вычисления или выделенный VPS для торговли.
  • Выбор более быстрой и облегченной модели для выполнения вычислений в реальном времени.

снижение затрат

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

Импорт моделей в облако GPU

Для обучения и тонкой настройки можно использовать графический сервер (GPU Cloud) и оставить только генерацию результатов на усмотрение Bedrock. Такой подход подходит для организаций, которые не хотят передавать свои конфиденциальные данные внешнему сервису.

Реальные сценарии и сравнение местоположений

Практические примеры:

  • Трейдеры на рынке Форекс/криптовалют: Используйте выделенный VPS для торговли в месте, расположенном недалеко от бирж, и прокси-сервер для связи с Bedrock для получения новостей или анализа сигналов. Для некоторых приложений требуется задержка менее 20 мс; выбор подходящего местоположения из более чем 85 имеет важное значение.
  • Игры и игровые чат-боты: Использование игровых VPS и CDN для быстрой доставки ресурсов, а также Bedrock для сложных диалогов — с упором на более лёгкие модели для уменьшения задержки.
  • Искусственный интеллект и рендеринг: Мощные модели и пакетная обработка данных на облачных платформах с использованием графических процессоров; Bedrock для разнообразных рабочих нагрузок и доступа к моделям от разных производителей.

Практические советы и контрольный список перед запуском.

  • Выберите соответствующий регион AWS Bedrock и регион периферии сети рядом с пользователями.
  • Определите роль IAM с ограниченным доступом.
  • Настройте соответствующую конечную точку VPC и группу безопасности.
  • Подготовка политик KMS и шифрования.
  • Настройте ведение журналов (CloudWatch, CloudTrail).
  • Внедрите кэширование и ограничение скорости запросов на периферии сети.
  • Тестирование нагрузки и задержки (wrk, hey, ab) и мониторинг затрат.

Пример теста задержки с помощью curl:

time curl -s -X POST https://proxy.example.com/api/generate -d '{"prompt":"سلام"}' -H "Content-Type: application/json"

Резюме и заключение

Amazon AWS Bedrock — мощный инструмент для доступа к базовым моделям. При правильном сочетании архитектуры (Edge + Bedrock + GPU Cloud) вы можете получить следующие возможности: Низкая задержка, Высокий уровень безопасности и Контролируемые затраты Да, так и было.

Для приложений, чувствительных к задержкам, рекомендуется использовать близко расположенные серверы и переносить часть обработки на локальные серверы или в облако с графическими процессорами. Для обеспечения безопасности необходимы использование VPC Endpoint, IAM с минимальным доступом и шифрование KMS.

Вам также может понравиться