개요
2023.03.31-[Python] OpenAI API 사용하기에서 OpenAI의 API를 통한 생성형 AI 사용 방법에 대해서 적었는데, 그 이후 클라우드 제공 업체에서도 생성형 AI와 관련된 서비스를 제공하고 있다는 것을 알게되었다. 이번 글에서는 생성형 AI를 활용하고자할 때 고려할 수 있는 CSP 제공 생성형 AI 서비스인 Azure OpenAI, AWS Bedrock의 개념 정도만 간단히 톺아본다.
Azure OpenAI
OpenAI의 언어 모델에 대한 Rest API를 제공한다. 개발자는 콘텐츠 생성, 요약, 의미 검색 및 자연어를 코드로 변화하는 등의 작업을 쉽게 처리할 수 있고, Rest API, Python 또는 Azure OpenAI Studio와 같은 웹 기반 인터페이스로 서비스에 접근할 수 있다.
from azure.ai.textanalytics import TextAnalyticsClient
from azure.identity import DefaultAzureCredential
client = TextAnalyticsClient(endpoint="https://<your-endpoint>.cognitiveservices.azure.com/",
credential=DefaultAzureCredential())
documents = ["Let's analyze the sentiment of this text."]
result = client.analyze_sentiment(documents)
for doc in result:
print("Document Sentiment:", doc.sentiment)
AWS Bedrock
AWS Bedrock은 개발자가 생성형 AI 애플리케이션을 쉽게 빌드하고 배포하는 것을 목적으로 하며, 사용자가 정의할 수 잇는 기본 모델과 툴에 대한 접근을 제공한다.
Amazon Titan, Falcon 등을 포함한 기본 모델에 접근할 수 있고, AWS 다른 서비스와 간편하게 연동할 수 있다.
import boto3
# Initialize the Bedrock client
bedrock = boto3.client('bedrock')
# Deploy a model
response = bedrock.deploy_model(
ModelName='your-model-name',
MinCapacity=1,
MaxCapacity=10
)
print("Deployment status:", response['Status'])
비교
아래는 AWS Bedrock과 Azure OpenAI를 비교한 표이다.
Feature | AWS Bedrock | Azure OpenAI |
Language Support | Python, Java, Go | Python, .NET, Java |
Integration Ease | Medium | High |
Scalability | Very High | High |
Pre-trained Models | Limited | Extensive |
Custom Model Training | Yes | Yes |
Pricing | Subscription-based | Pay-as-you-go |
두 개 서비스 모두 LLM에 대한 접근을 제공하지만, AWS Bedrock은 파트너쉽을 통해 광범위한 모델을 제공하는 반면 Azure OpenAI를 OpenAI의 LLM 접근에 초점을 둔다.
또한 AWS Bedrock은 AWS 서비스와의 연동이 간편하고 Azure OpenAI는 보다 광범위한 API 에코시스템을 제공하는 방식으로 Azure 서비스나 다른 서비스와 연동할 수 있다.
클라우드 인프라를 활용하는 만큼 두 서비스 모두 확장성이 높고 성능이 안정적이며, 종량제 가격을 책정하고 있다.
참고 문서