AWS Türkçe Blog

Amazon Bedrock Artık Genel Olarak Kullanılabilir – Temel Modellerle Üretken Yapay Zeka Uygulamaları Oluşturun ve Ölçeklendirin

Orijinal makale: Link (Antje Barth)

Bu Nisan ayında, AWS’te üretken yapay zeka ile oluşturmaya yönelik bir dizi yeni aracın bir parçası olarak Amazon Bedrock‘u duyurduk. Amazon Bedrock, AI21 Labs, Anthropic, Cohere, Stability AI ve Amazon gibi önde gelen yapay zeka şirketlerinin yüksek performanslı temel modelleri (FM’ler) ile birlikte, üretken yapay zeka uygulamaları oluşturmak için geniş bir yetenek seti sunan, gizliliği ve güvenliği korurken geliştirmeyi basitleştiren, tamamen yönetilen bir hizmettir.

Bugün, Amazon Bedrock’un artık genel kullanıma sunulduğunu duyurmaktan mutluluk duyuyorum! Meta’nın Llama 2 13B ve 70B parametre modellerinin yakında Amazon Bedrock’ta kullanıma sunulacağını paylaşmaktan da heyecan duyuyorum.

Amazon Bedrock

Amazon Bedrock’un kapsamlı özellikleri, çeşitli en iyi FM’leri denemenize, ince ayar ve erişimle artırılmış üretim (retrieval-augmented generation – RAG) gibi teknikleri kullanarak bunları verilerinizle özel olarak özelleştirmenize ve karmaşık iş görevlerini yerine getiren yönetilen aracılar oluşturmanıza yardımcı olur – üstelik hiçbir kod yazmadan. Amazon Bedrock aracıları ve FM’leri şirketinizin veri kaynaklarına nasıl bağlayacağınız hakkında daha fazla bilgi edinmek için önceki yazılarıma göz atın.

Bilgi tabanları da dahil olmak üzere Amazon Bedrock aracıları gibi bazı özelliklerin ön izleme aşamasında sunulmaya devam edeceğini unutmayın. Bu blog yazısının sonuna doğru ön izlemede hangi özelliklerin mevcut olmaya devam edeceğine dair daha fazla ayrıntı paylaşacağım.

Amazon Bedrock sunucusuz olduğundan herhangi bir altyapıyı yönetmeniz gerekmez ve zaten aşina olduğunuz AWS hizmetlerini kullanarak üretken yapay zeka yeteneklerini uygulamalarınıza güvenli bir şekilde entegre edip dağıtabilirsiniz.

Amazon Bedrock, izleme ve yönetişim ihtiyaçlarınızı desteklemek için Amazon CloudWatch ve AWS CloudTrail ile entegre edilmiştir. Kullanım metriklerini izlemek ve denetim amacıyla özelleştirilmiş panolar oluşturmak için CloudWatch’ı kullanabilirsiniz. CloudTrail ile, diğer sistemleri üretken yapay zeka uygulamalarınıza entegre ederken API etkinliğini izleyebilir ve sorunları giderebilirsiniz. Amazon Bedrock ayrıca GDPR ile uyumlu uygulamalar oluşturmanıza olanak tanır ve Amazon Bedrock’u ABD Sağlık Sigortası Taşınabilirlik ve Sorumluluk Yasası (HIPAA) kapsamında düzenlenen hassas iş yüklerini çalıştırmak için kullanabilirsiniz.

Amazon Bedrock’u Kullanmaya Başlayın
Amazon Bedrock’taki mevcut FM’lere AWS Management Console, AWS SDK’leri ve LangChain gibi açık kaynaklı çerçeveler aracılığıyla erişebilirsiniz.

Amazon Bedrock konsolunda FM’lere göz atabilir ve her model için örnek kullanım senaryolarını ve istemleri keşfedip yükleyebilirsiniz. Öncelikle modellere erişimi etkinleştirmeniz gerekir. Konsolda, sol gezinme bölmesinde Model access (Model erişimi) seçin ve erişmek istediğiniz modelleri etkinleştirin. Model erişimi etkinleştirildikten sonra, kullanım durumunuza uygun bir model bulmak için farklı modelleri deneyebilir ve yapılandırma ayarlarını çıkarabilirsiniz.

Örneğin, burada Cohere’in Komut modelini kullanan bir sözleşme varlığı çıkarma kullanım senaryosu örneği verilmiştir:

Amazon Bedrock

Örnekte, bir örnek yanıtı, örneğe ilişkin çıkarım yapılandırması parametre ayarlarını ve örneği çalıştıran API isteğini içeren bir bilgi istemi gösterilmektedir. Open in Playground (Oyun alanında aç) seçerseniz modeli keşfedebilir ve örneği etkileşimli bir konsol deneyiminde daha fazla kullanabilirsiniz.

Amazon Bedrock sohbet, metin ve resim modeli oyun alanları sunar. Sohbet oyun alanında, etkileşimli bir sohbet arayüzü kullanarak çeşitli FM’leri deneyebilirsiniz. Aşağıdaki örnekte Anthropic’in Claude modeli kullanılmaktadır:

Amazon Bedrock

Farklı modelleri değerlendirirken çeşitli sufle mühendislik (prompt engineering) tekniklerini denemeli ve yapılandırma parametrelerini çıkarmalısınız. Sufle mühendislik, FM’leri nasıl daha iyi anlayacağınıza ve görevlerinize ve kullanım durumlarınıza nasıl uygulayacağınıza odaklanan yeni ve heyecan verici bir beceridir. Etkili sufle mühendisliği, FM’lerden en iyi şekilde yararlanmak ve doğru ve kesin yanıtlar almak için mükemmel sorguyu hazırlamakla ilgilidir. Genel olarak yönlendirmeler basit, anlaşılır olmalı ve belirsizlikten kaçınmalıdır. Ayrıca istemde örnekler verebilir veya modeli daha karmaşık görevler üzerinde düşünmeye teşvik edebilirsiniz.

Çıkarım yapılandırma parametreleri, model tarafından oluşturulan yanıtı etkiler. Temperature, Top P ve Top K gibi parametreler rastgelelik ve çeşitlilik üzerinde kontrol sahibi olmanızı sağlar ve Maximum Length veya Max Tokens, model yanıtlarının uzunluğunu kontrol eder. Her modelin farklı ancak sıklıkla örtüşen çıkarım parametreleri kümesini ortaya çıkardığına dikkat edin. Bu parametreler ya modeller arasında aynı şekilde adlandırılır ya da farklı modelleri denediğinizde akıl yürütmenizi sağlayacak kadar benzerdir.

AWS tarafından DeepLearning.AI iş birliğiyle geliştirilen, isteğe bağlı Büyük Dil Modelleriyle Üretken Yapay Zeka kursunun 1. haftasında etkili sufle mühendislik tekniklerini ve çıkarım yapılandırma parametrelerini daha ayrıntılı olarak tartışıyoruz. Ek ipuçları için Amazon Bedrock belgelerine ve model sağlayıcının ilgili belgelerine de göz atabilirsiniz.

Şimdi Amazon Bedrock ile API’lar aracılığıyla nasıl etkileşim kurabileceğinizi görelim.

Amazon Bedrock API’ını kullanma
Amazon Bedrock ile çalışmak, kullanım durumunuz için bir FM seçip ardından birkaç API çağrısı yapmak kadar basittir. Aşağıdaki kod örneklerinde Amazon Bedrock ile etkileşim kurmak için Python için AWS SDK (Boto3) kullanacağım.

Mevcut Temel Modellerini Listele
Öncelikle boto3 istemcisini kuralım ve ardından mevcut FM’lerin en güncel listesini görmek için list_foundation_models()‘ı kullanalım:

import boto3
import json

bedrock = boto3.client(
    service_name='bedrock', 
    region='us-east-1'
)

bedrock.list_foundation_models()
Python

Amazon Bedrock’un InvokeModel API’ını Kullanarak Çıkarım Çalıştırın
Daha sonra Amazon Bedrock’un InvokeModel API’ını ve boto3 çalışma zamanı istemcisini kullanarak bir çıkarım isteği gerçekleştirelim. Çalışma zamanı istemcisi, InvokeModel API’ı da dahil olmak üzere veri düzlemi API’larını yönetir.

Amazon Bedrock

InvokeModel API’ı aşağıdaki parametreleri bekler:

{
    "modelId": <MODEL_ID>,
    "contentType": "application/json",
    "accept": "application/json",
    "body": <BODY>
}
YAML

modelId parametresi kullanmak istediğiniz FM’yi tanımlar. body isteği, görevinizin istemini tüm çıkarım yapılandırma parametreleriyle birlikte içeren bir JSON dizesidir. Bilgi istemi formatının seçilen model sağlayıcıya ve FM’e göre değişeceğini unutmayın. contentType ve accept parametreleri, istek gövdesindeki verilerin MIME türünü ve yanıtı ve varsayılan olarak application/json‘u tanımlar. En son modeller, InvokeModel API parametreleri ve bilgi istemi biçimleri hakkında daha fazla bilgi için Amazon Bedrock belgelerine bakın.

Örnek: AI21 Lab’ın Jurassic-2 Modelini Kullanarak Metin Oluşturma
Burada AI21 Lab’ın Jurassic-2 Ultra modelini kullanan bir metin oluşturma örneği verilmiştir. Modelden bana bir tak-tak şakası anlatmasını isteyeceğim; benim Merhaba Dünya versiyonum.

bedrock_runtime = boto3.client(
    service_name='bedrock-runtime', 
    region='us-east-1'
)

modelId = 'ai21.j2-ultra-v1' 
accept = 'application/json'
contentType = 'application/json'

body = json.dumps(
    {"prompt": "Knock, knock!", 
     "maxTokens": 200,
     "temperature": 0.7,
     "topP": 1,
    }
)

response = bedrock_runtime.invoke_model(
    body=body, 
	modelId=modelId, 
	accept=accept, 
	contentType=contentType
)

response_body = json.loads(response.get('body').read())
Python

İşte yanıt:

outputText = response_body.get('completions')[0].get('data').get('text')
print(outputText)
Python
Who's there? 
Boo! 
Boo who? 
Don't cry, it's just a joke!
Markup

Gömme modelleriyle etkileşimde bulunmak için InvokeModel API’ını da kullanabilirsiniz.

Örnek: Amazon’un Titan Gömme Modelini Kullanarak Metin Gömmeler Oluşturma
Metin gömme modelleri, kelimeler, ifadeler veya muhtemelen büyük metin birimleri gibi metin girdilerini, gömme vektörleri olarak bilinen sayısal gösterimlere dönüştürür. Gömme vektörleri, metnin semantik anlamını yüksek boyutlu bir vektör uzayında yakalar ve kişiselleştirme veya arama gibi uygulamalar için faydalıdır. Aşağıdaki örnekte, bir gömme vektörü oluşturmak için Amazon Titan Embeddings modelini kullanıyorum.

prompt = "Knock-knock jokes are hilarious."

body = json.dumps({
    "inputText": prompt,
})

model_id = 'amazon.titan-embed-g1-text-02'
accept = 'application/json' 
content_type = 'application/json'

response = bedrock_runtime.invoke_model(
    body=body, 
    modelId=model_id, 
    accept=accept, 
    contentType=content_type
)

response_body = json.loads(response['body'].read())
embedding = response_body.get('embedding')
Python

Gömme vektörü (kısaltılmış) şuna benzer:

[0.82421875, -0.6953125, -0.115722656, 0.87890625, 0.05883789, -0.020385742, 0.32421875, -0.00078201294, -0.40234375, 0.44140625, ...]

Amazon Titan Embeddings’in bugün mevcut olduğunu unutmayın. Metin oluşturmaya yönelik Amazon Titan Text model ailesi sınırlı ön izlemeyle sunulmaya devam ediyor.

Amazon Bedrock’un InvokeModelWithResponseStream API’ını Kullanarak Çıkarım Çalıştırın
InvokeModel API isteği eşzamanlıdır ve çıktının tamamının model tarafından oluşturulmasını bekler. Akış yanıtlarını destekleyen modeller için Bedrock ayrıca, sağlanan girişi kullanarak çıkarımı çalıştırmak için belirtilen modeli çağırmanıza ancak model çıktıyı oluştururken yanıtı akışa almanıza olanak tanıyan bir InvokeModelWithResponseStream API’ı da sunar.

Amazon Bedrock

Akış yanıtları, kullanıcının etkileşimli bir uygulamayla meşgul olmasını sağlayan duyarlı sohbet arayüzleri için özellikle kullanışlıdır. Amazon Bedrock’un InvokeModelWithResponseStream API’ını kullanan bir Python kodu örneği:

response = bedrock_runtime.invoke_model_with_response_stream(
    modelId=modelId, 
    body=body)

stream = response.get('body')
if stream:
    for event in stream:
        chunk=event.get('chunk')
        if chunk:
            print(json.loads(chunk.get('bytes').decode))
Python

Veri Gizliliği ve Ağ Güvenliği
Amazon Bedrock ile verilerinizin kontrolü sizdedir ve tüm girişleriniz ile özelleştirmeleriniz AWS hesabınıza özel kalır. Bilgi istemleri, tamamlamalar ve ince ayarlı modeller gibi verileriniz hizmetin iyileştirilmesi için kullanılmaz. Ayrıca veriler hiçbir zaman üçüncü taraf model sağlayıcılarla paylaşılmaz.

Verileriniz API çağrısının işlendiği Bölgede kalır. Tüm veriler aktarım sırasında minimum TLS 1.2 şifrelemeyle şifrelenir. Kullanımda olmayan veriler, AWS KMS tarafından yönetilen veri şifreleme anahtarları kullanılarak AES-256 ile şifrelenir. Verileri şifrelemek için kendi anahtarlarınızı da (müşteri tarafından yönetilen anahtarlar) kullanabilirsiniz.

AWS hesabınızı ve sanal özel bulutunuzu (VPC), AWS ağı üzerinden Amazon Bedrock’a güvenli bir şekilde bağlanmak için Amazon VPC uç noktalarını (AWS PrivateLink üzerinde oluşturulmuştur) kullanacak şekilde yapılandırabilirsiniz. Bu, VPC’de çalışan uygulamalarınız ile Amazon Bedrock arasında güvenli ve özel bağlantıya olanak tanır.

Yönetişim ve İzleme
Amazon Bedrock, izinlerini yönetmenize yardımcı olmak için IAM ile entegre olur. Bu izinler Amazon Bedrock’taki belirli modellere, oyun alanlarına veya özelliklere erişimi içerir. Amazon Bedrock etkinliği de dahil olmak üzere AWS tarafından yönetilen tüm servis API etkinlikleri, hesabınızdaki CloudTrail’e kaydedilir.

Amazon Bedrock, InputTokenCount, OutputTokenCount, InvocationLatency ve (number of) Invocations gibi ortak ölçümleri izlemek için AWS/Bedrock ad alanını kullanarak CloudWatch’a veri noktaları gönderir. Metrikleri ararken model kimliği boyutunu belirterek sonuçları filtreleyebilir ve belirli bir modele ilişkin istatistikler alabilirsiniz. Bu neredeyse gerçek zamanlı içgörü, Amazon Bedrock ile üretken yapay zeka uygulamaları oluşturmaya başladığınızda kullanımı ve maliyeti (giriş ve çıkış belirteç sayısı) izlemenize ve performans sorunlarını (çağrı gecikmesi ve çağrı sayısı) gidermenize yardımcı olur.

Faturalandırma ve Fiyatlandırma Modelleri
Amazon Bedrock’u kullanırken faturalandırma ve fiyatlandırma modelleriyle ilgili aklınızda bulundurmanız gereken birkaç nokta:

Faturalandırma – Metin oluşturma modelleri, işlenen giriş belirteçleri (tokens) ve oluşturulan çıktı belirteçleri başına faturalandırılır. Metin yerleştirme modelleri, işlenen giriş belirteçleri başına faturalandırılır. Görüntü oluşturma modelleri, oluşturulan görüntü başına faturalandırılır.

Fiyatlandırma Modelleri – Amazon Bedrock, isteğe bağlı ve tedarik edilen aktarım hızı olmak üzere iki fiyatlandırma modeli sunar. İsteğe bağlı fiyatlandırma, FM’leri zamana dayalı herhangi bir dönem taahhüdü vermenize gerek kalmadan kullandıkça öde esasına göre kullanmanıza olanak tanır. Tedarik edilen aktarım hızı, öncelikle bir dönem taahhüdü karşılığında garantili aktarım hızına ihtiyaç duyan büyük, tutarlı çıkarım iş yükleri için tasarlanmıştır. Burada, uygulamanızın performans gereksinimlerini karşılamak için, dakika başına işlenen maksimum giriş ve çıkış belirteçlerinin sayısıyla tanımlanan belirli bir FM’nin model birimi sayısını belirtirsiniz. Ayrıntılı fiyatlandırma bilgileri için bkz. Amazon Bedrock Fiyatlandırması.

Şimdi Kullanılabilir
Amazon Bedrock bugün AWS Bölgeleri ABD Doğu (K. Virginia) ve ABD Batı’da (Oregon) mevcuttur. Daha fazla bilgi edinmek için Amazon Bedrock‘u ziyaret edin, Amazon Bedrock belgelerine göz atın, community.aws adresindeki üretken yapay zeka alanını keşfedin ve Amazon Bedrock atölyesine katılın. AWS re:Post for Amazon Bedrock’a veya her zamanki AWS kişileriniz aracılığıyla geri bildirim gönderebilirsiniz.

(Ön izlemede mevcuttur) Amazon Titan Text metin oluşturma modelleri ailesi, Stability AI’ın Stable Diffusion XL görüntü oluşturma modeli ve bilgi tabanları da dahil olmak üzere Amazon Bedrock aracıları ön izleme aşamasında kullanıma sunulmaya devam ediyor. Erişim istiyorsanız her zamanki AWS kişilerinizle iletişime geçin.

(Yakında gelecek) Meta‘nın Llama 2 13B ve 70B parametre modelleri, çıkarım ve ince ayar için yakında Amazon Bedrock’un tam olarak yönetilen API’ı aracılığıyla kullanıma sunulacak.

Amazon Bedrock ile üretken yapay zeka uygulamaları oluşturmaya bugün başlayın!