Zephyrnet Logosu

Amazon Bedrock'ta kendi kendine tutarlılık yönlendirmesi ile üretken dil modellerinin performansını artırın | Amazon Web Hizmetleri

Tarih:

Üretken dil modellerinin mantıksal ve analitik doğal dil işleme (NLP) görevlerini çözmede oldukça yetenekli olduğu kanıtlanmıştır. Ayrıca, kullanımı hızlı mühendislik performanslarını önemli ölçüde artırabilir. Örneğin, düşünce zinciri (CoT)'nin karmaşık çok adımlı problemler için bir modelin kapasitesini arttırdığı bilinmektedir. Muhakeme gerektiren görevlerde doğruluğu daha da artırmak için, kendi kendine tutarlılık Dil üretimi sırasında açgözlülüğün yerini stokastik kod çözmenin aldığı teşvik edici yaklaşım önerilmiştir.

Amazon Ana Kayası tek bir API aracılığıyla önde gelen AI şirketlerinden ve Amazon'dan yüksek performanslı temel model seçeneklerinin yanı sıra oluşturulabilecek geniş bir yetenek yelpazesi sunan, tam olarak yönetilen bir hizmettir üretken yapay zeka güvenlik, gizlilik ve sorumlu yapay zekaya sahip uygulamalar. İle toplu çıkarım API ile temel modellerle toplu çıkarımlar yapmak ve yanıtları daha verimli bir şekilde almak için Amazon Bedrock'u kullanabilirsiniz. Bu gönderi, aritmetik ve çoktan seçmeli akıl yürütme görevlerinde model performansını artırmak için Amazon Bedrock'ta toplu çıkarım aracılığıyla kendi kendine tutarlılık yönlendirmesinin nasıl uygulanacağını gösterir.

Çözüme genel bakış

Dil modellerinin kendi kendine tutarlılık yönlendirmesi, nihai bir yanıt halinde bir araya getirilen çoklu yanıtların üretilmesine dayanır. CoT gibi tek nesil yaklaşımların aksine, kendi kendine tutarlılık örnekleme ve marjinalleştirme prosedürü, daha tutarlı bir çözüme yol açan bir dizi model tamamlaması yaratır. Belirli bir istem için farklı yanıtların üretilmesi, açgözlü kod çözme stratejisinden ziyade stokastik bir kod çözme stratejisinin kullanılması nedeniyle mümkündür.

Aşağıdaki şekil, kendi kendine tutarlılığın açgözlü CoT'den ne kadar farklı olduğunu göstermektedir; çünkü çeşitli akıl yürütme yolları üretir ve bunları nihai cevabı üretmek için bir araya getirir.

Kendi kendine tutarlılık ve CoT yönlendirmesi arasındaki farklar.

Metin oluşturmaya yönelik kod çözme stratejileri

Yalnızca kod çözücü dil modelleri tarafından oluşturulan metin, kelime kelime açılır ve sonraki belirteç, önceki bağlam temel alınarak tahmin edilir. Belirli bir bilgi istemi için model, her bir jetonun dizide bir sonraki görünme olasılığını gösteren bir olasılık dağılımını hesaplar. Kod çözme, bu olasılık dağılımlarının gerçek metne çevrilmesini içerir. Metin oluşturmaya bir dizi aracılık edilir. çıkarım parametreleri bunlar genellikle kod çözme yönteminin hiper parametreleridir. Bir örnek şu: sıcaklıkBir sonraki jetonun olasılık dağılımını modüle eden ve modelin çıktısının rastgeleliğini etkileyen.

Açgözlü kod çözme Her adımda en yüksek olasılığa sahip jetonu seçen deterministik bir kod çözme stratejisidir. Her ne kadar basit ve etkili olsa da bu yaklaşım, daha geniş olasılık alanını göz ardı ettiğinden tekrarlanan kalıplara düşme riskini taşıyor. Çıkarım zamanında sıcaklık parametresinin 0'a ayarlanması esasen açgözlü kod çözmenin uygulanmasına eşittir.

Örnekleme tahmin edilen olasılık dağılımına göre sonraki her jetonu rastgele seçerek kod çözme sürecine stokastiklik katar. Bu rastgelelik daha büyük çıktı değişkenliğine neden olur. Stokastik kod çözme, potansiyel çıktıların çeşitliliğini yakalama konusunda daha becerikli olduğunu kanıtlıyor ve çoğu zaman daha yaratıcı yanıtlar veriyor. Daha yüksek sıcaklık değerleri daha fazla dalgalanmaya neden olur ve modelin tepkisinin yaratıcılığını artırır.

Yönlendirme teknikleri: CoT ve kendi kendine tutarlılık

Dil modellerinin akıl yürütme yeteneği, hızlı mühendislik yoluyla artırılabilir. Özellikle CoT'nin şunu gösterdiği gösterilmiştir: muhakeme ortaya çıkarmak karmaşık NLP görevlerinde. Bir uygulamayı uygulamanın bir yolu sıfır atış CoT, "adım adım düşünün" talimatıyla hızlı bir şekilde artırılır. Bir diğeri, modeli orta düzey akıl yürütme adımları örneklerine maruz bırakmaktır. birkaç atışlık teşvik moda. Her iki senaryo da genellikle açgözlü kod çözmeyi kullanır. CoT, aritmetik, sağduyu ve sembolik akıl yürütme görevlerinde basit talimat yönlendirmeyle karşılaştırıldığında önemli performans kazanımlarına yol açar.

Kendi kendine tutarlılık teşviki muhakeme sürecine çeşitlilik getirmenin modellerin doğru cevaba yaklaşmasına yardımcı olabileceği varsayımına dayanmaktadır. Teknik, bu hedefe üç adımda ulaşmak için stokastik kod çözmeyi kullanır:

  1. Akıl yürütmeyi ortaya çıkarmak için dil modelini CoT örnekleriyle yönlendirin.
  2. Çeşitli akıl yürütme yolları oluşturmak için açgözlü kod çözmeyi bir örnekleme stratejisiyle değiştirin.
  3. Yanıt kümesindeki en tutarlı yanıtı bulmak için sonuçları toplayın.

Kendi kendine tutarlılığın, popüler aritmetik ve sağduyulu muhakeme kriterlerinde CoT yönlendirmesinden daha iyi performans gösterdiği gösterilmiştir. Yaklaşımın bir sınırlaması, daha büyük hesaplama maliyetidir.

Bu gönderi, kendi kendine tutarlı ipucu vermenin, üretken dil modellerinin iki NLP muhakeme görevindeki performansını nasıl artırdığını gösteriyor: aritmetik problem çözme ve çoktan seçmeli alana özgü soru yanıtlama. Amazon Bedrock'ta toplu çıkarımı kullanarak yaklaşımı gösteriyoruz:

  • Amazon Bedrock Python SDK'sına JupyterLab üzerinden erişiyoruz. Amazon Adaçayı Yapıcı not defteri örneği.
  • Aritmetik akıl yürütme için şunu sorarız: Tutarlı Komut ilkokul matematik problemlerinin GSM8K veri kümesinde.
  • Çoktan seçmeli akıl yürütme için şunu soruyoruz: AI21 Laboratuvarları Jurassic-2 Orta AWS Sertifikalı Çözüm Mimarı – Önlisans sınavından alınan küçük bir soru örneği üzerine.

Önkoşullar

Bu izlenecek yol aşağıdaki önkoşulları varsayar:

Amazon Bedrock'ta model erişimini yönetin

Bu gönderide gösterilen kodu çalıştırmanın tahmini maliyeti, sıcaklığa dayalı örnekleme için tek bir değer kullanarak 100 muhakeme yolu ile kendi kendine tutarlılık istemini bir kez çalıştırdığınızı varsayarsak 30 ABD dolarıdır.

Aritmetik muhakeme yeteneklerini araştırmaya yönelik veri kümesi

GSM8K yüksek dilsel çeşitliliğe sahip, insanlar tarafından bir araya getirilmiş ilkokul matematik problemlerinden oluşan bir veri kümesidir. Her problemin çözülmesi 2 ila 8 adım sürer ve temel aritmetik işlemlerle birlikte bir dizi temel hesaplamanın yapılmasını gerektirir. Bu veriler genellikle üretken dil modellerinin çok adımlı aritmetik akıl yürütme yeteneklerini karşılaştırmak için kullanılır. GSM8K tren seti 7,473 kayıttan oluşmaktadır. Aşağıdaki bir örnektir:

{"question": "Natalia sold clips to 48 of her friends in April, and then she sold half as many clips in May. How many clips did Natalia sell altogether in April and May?", "answer": "Natalia sold 48/2 = <<48/2=24>>24 clips in May.nNatalia sold 48+24 = <<48+24=72>>72 clips altogether in April and May.n#### 72"}

Amazon Bedrock ile toplu çıkarım yapacak şekilde ayarlayın

Toplu çıkarım, Amazon Bedrock'a eşzamansız olarak birden fazla çıkarım çağrısı çalıştırmanıza ve büyük veri kümelerinde model çıkarımının performansını artırmanıza olanak tanır. Hizmet, bu yazının yazıldığı an itibarıyla önizleme aşamasındadır ve yalnızca API aracılığıyla kullanılabilir. Bakınız Toplu çıkarımı çalıştır toplu çıkarım API'lerine özel SDK'lar aracılığıyla erişmek için.

İndirip sıkıştırdıktan sonra Python SDK'sı SageMaker not defteri örneğinde, Jupyter not defteri hücresinde aşağıdaki kodu çalıştırarak bunu yükleyebilirsiniz:

# Install preview SDK packages
!pip install -q $(ls ./bedrock-python-sdk-reinvent/botocore-*.whl | head -1)
!pip install -q $(ls ./bedrock-python-sdk-reinvent/boto3-*.whl | head -1)

Giriş verilerini biçimlendirin ve Amazon S3'e yükleyin

Toplu çıkarım için giriş verilerinin JSONL formatında hazırlanması gerekir. recordId ve modelInput anahtarlar. İkincisi, Amazon Bedrock'ta çağrılacak modelin gövde alanıyla eşleşmelidir. Özellikle bazı Cohere Komutu için desteklenen çıkarım parametreleri vardır temperature rastgelelik için, max_tokens çıkış uzunluğu için ve num_generations birden fazla yanıt oluşturmak için bunların tümü prompt as modelInput:

data = [
    {
        "recordId": "1",
        "modelInput": {
            "prompt": prompt,
            "temperature": temperature,
            "max_tokens": max_tokens,
            "num_generations": n,
        },
    },
    ...,
]

Yerimizi Temel modeller için çıkarım parametreleri Diğer model sağlayıcılar da dahil olmak üzere daha fazla ayrıntı için.

Aritmetik akıl yürütmeye ilişkin deneylerimiz, Cohere Komutunu özelleştirmeden veya ince ayar yapmadan, birkaç çekim ayarında gerçekleştirilir. Düşünce zincirinden aynı sekiz birkaç çekim örneğini kullanıyoruz (Tablo 20) ve kendi kendine tutarlılık (Tablo 17) kağıtlar. İstemler, örneklerin GSM8K tren setindeki her soruyla birleştirilmesiyle oluşturulur.

Ayarladık max_tokens 512 ve num_generations Cohere Komutanlığı tarafından izin verilen maksimum değer olan 5'e kadar. Açgözlü kod çözme için ayarladık temperature 0'a ayarlamak ve tutarlılık sağlamak için 0.5, 0.7 ve 1 sıcaklıklarda üç deney yapıyoruz. Her ayar, ilgili sıcaklık değerlerine göre farklı girdi verileri sağlar. Veriler JSONL olarak biçimlendirilir ve Amazon S3'te depolanır.

# Set up S3 client
session = boto3.Session()
s3 = session.client("s3")

# Create S3 bucket with unique name to store input/output data
suffix = str(uuid.uuid4())[:8]
bucket = f"bedrock-self-consistency-{suffix}"
s3.create_bucket(
    Bucket=bucket, CreateBucketConfiguration={"LocationConstraint": session.region_name}
)

# Process data and output to new lines as JSONL
input_key = f"gsm8k/T{temperature}/input.jsonl"
s3_data = ""
for row in data:
    s3_data += json.dumps(row) + "n"
s3.put_object(Body=s3_data, Bucket=bucket, Key=input_key)

Amazon Bedrock'ta toplu çıkarım işleri oluşturun ve çalıştırın

Toplu çıkarım işi oluşturma, bir Amazon Bedrock istemcisi gerektirir. S3 giriş ve çıkış yollarını belirliyoruz ve her çağrı işine benzersiz bir ad veriyoruz:

# Create Bedrock client							    
bedrock = boto3.client("bedrock")

# Input and output config						     
input_config = {"s3InputDataConfig": {"s3Uri": f"s3://{bucket}/{input_key}"}}
output_config = {"s3OutputDataConfig": {"s3Uri": f"s3://{bucket}/{output_key}"}}

# Create a unique job name
suffix = str(uuid.uuid4())[:8] 
job_name = f"command-batch-T{temperature}-{suffix}"

İşler çevrimiçi kurslar düzenliyorlar. IAM rolünü, model kimliğini, iş adını ve giriş/çıkış yapılandırmasını Amazon Bedrock API'sine parametre olarak ileterek:

response = bedrock.create_model_invocation_job(
    roleArn=f"arn:aws:iam::{account_id}:role/BedrockBatchInferenceRole",
    modelId="cohere.command-text-v14",
    jobName=job_name,
    inputDataConfig=input_config,
    outputDataConfig=output_config,
)
job_arn = response["jobArn"]

listeleme, izleme, ve durdurma toplu çıkarım işleri, ilgili API çağrıları tarafından desteklenir. Oluşturulduğunda işler ilk olarak şu şekilde görünür: Submitted, o halde InProgressve son olarak Stopped, Failedya da Completed.

# Get job details
job_details = bedrock.get_model_invocation_job(jobIdentifier=job_arn)

İşler başarıyla tamamlanırsa oluşturulan içerik, benzersiz çıkış konumu kullanılarak Amazon S3'ten alınabilir.

# Get the output file key
s3_prefix = f"s3://{bucket}/"
output_path = job_details["outputDataConfig"]["s3OutputDataConfig"]["s3Uri"].replace(
    s3_prefix, ""
)
output_folder = job_details["jobArn"].split("/")[1]
output_file = (
    f'{job_details["inputDataConfig"]["s3InputDataConfig"]["s3Uri"].split("/")[-1]}.out'
)
result_key = f"{output_path}{output_folder}/{output_file}"

# Get output data
obj = s3.get_object(Bucket=bucket, Key=result_key)
content = obj["Body"].read().decode("utf-8").strip().split("n")

# Show answer to the first question
print(json.loads(content[0])["modelOutput"]["generations"][0]["text"])

[Out]: 'Natalia sold 48 * 1/2 = 24 clips less in May. This means she sold 48 + 24 = 72 clips in April and May. The answer is 72.'

Kendi kendine tutarlılık, aritmetik görevlerde model doğruluğunu artırır

Cohere Command'ın kendi kendine tutarlılık yönlendirmesi, GSM8K veri kümesindeki doğruluk açısından açgözlü bir CoT temel çizgisinden daha iyi performans gösteriyor. Tutarlılık sağlamak için üç farklı sıcaklıkta 30 bağımsız muhakeme yolunu örnekliyoruz. topP ve topK onların ayarına varsayılan değerler. Nihai çözümler, çoğunluk oyuyla en tutarlı durumun seçilmesiyle toplanır. Eşitlik durumunda çoğunluk yanıtlarından birini rastgele seçeriz. 100 çalışmanın ortalaması alınarak doğruluk ve standart sapma değerlerini hesaplıyoruz.

Aşağıdaki şekil, örneklenen sayının bir fonksiyonu olarak 8 (sarı), 0.5 (yeşil) ve 0.7 (turuncu) sıcaklık değerlerinde açgözlü CoT (mavi) ve kendi kendine tutarlılık ile yönlendirilen Cohere Komutanlığından GSM1.0K veri kümesindeki doğruluğu gösterir. muhakeme yolları.

CoT istemine karşı kendi kendine tutarlılık kullanan Cohere Komutunun doğruluğu.

Önceki şekil, örneklenen yol sayısı üçe kadar düşük olduğunda kendi kendine tutarlılığın açgözlü CoT'ye göre aritmetik doğruluğu arttırdığını göstermektedir. Performans, daha fazla akıl yürütme yolu ile tutarlı bir şekilde artar ve bu da düşünce oluşumuna çeşitlilik getirmenin önemini doğrular. Cohere Komutu, GSM8K soru setini CoT ile istendiğinde %51.7 doğrulukla çözerken, T=68'da 30 kendi kendine tutarlı muhakeme yolu ile %1.0 doğrulukla çözmektedir. İncelenen üç sıcaklık değerinin tümü benzer sonuçlar verir; daha düşük sıcaklıklar, daha az örneklenen yollarda nispeten daha performanslıdır.

Verimlilik ve maliyetle ilgili pratik hususlar

Kendi kendine tutarlılık, artan tepki süresi ve bilgi istemi başına birden fazla çıktı üretirken ortaya çıkan maliyet nedeniyle sınırlıdır. Pratik bir örnek olarak, 7,473 GSM8K kaydı üzerinde Cohere Command ile açgözlü üretime yönelik toplu çıkarım 20 dakikadan kısa sürede tamamlandı. İş, girdi olarak 5.5 milyon token aldı ve 630,000 token çıktı üretti. Şu anda Amazon Ana Kayası çıkarım fiyatlarıtoplam maliyet 9.50 dolar civarındaydı.

Cohere Komutu ile tutarlılık için çıkarım parametresini kullanıyoruz num_generations istem başına birden fazla tamamlama oluşturmak için. Bu yazının yazıldığı an itibarıyla Amazon Bedrock maksimum beş nesile ve üç eş zamanlı veriye izin veriyor Submitted toplu çıkarım işleri. İşler devam ediyor InProgress durum sırayla olduğundan, beşten fazla yolu örneklemek birden fazla çağrı gerektirir.

Aşağıdaki şekil GSM8K veri kümesindeki Cohere Komutunun çalışma sürelerini göstermektedir. Toplam çalışma süresi x ekseninde, örneklenen akıl yürütme yolu başına çalışma süresi ise y ekseninde gösterilir. Açgözlü üretim en kısa sürede çalışır ancak örneklenen yol başına daha yüksek bir zaman maliyetine neden olur.

Cohere Command için çalışma zamanları

Açgözlü nesil, GSM20K setinin tamamını 8 dakikadan daha kısa bir sürede tamamlıyor ve benzersiz bir akıl yürütme yolunu örnekliyor. Beş örnekle kendi kendine tutarlılığın tamamlanması yaklaşık %50 daha uzun bir süre gerektirir ve maliyeti 14.50 ABD doları civarındadır, ancak bu süre içinde beş yol (%500'ün üzerinde) üretir. Örneklenen her ekstra beş yolla toplam çalışma süresi ve maliyet adım adım artar. Bir maliyet-fayda analizi, 1-2 örneklenmiş yola sahip 5-10 toplu çıkarım işinin, kendi kendine tutarlılığın pratik uygulaması için önerilen ayar olduğunu göstermektedir. Bu, maliyeti ve gecikmeyi uzak tutarken gelişmiş model performansı sağlar.

Kendi kendine tutarlılık, model performansını aritmetik akıl yürütmenin ötesinde artırır

Kendi kendine tutarlılık ipucunun uygunluğunu kanıtlamak için önemli bir soru, yöntemin diğer NLP görevlerinde ve dil modellerinde başarılı olup olmadığıdır. Amazon ile ilgili bir kullanım senaryosunun uzantısı olarak, Amazon'daki örnek sorular üzerinde küçük boyutlu bir analiz gerçekleştiriyoruz. AWS Çözüm Mimarı Ortak Sertifikası. Bu, AWS teknolojisi ve hizmetlerine yönelik, alan bilgisi ve çeşitli seçenekler arasında mantık yürütme ve karar verme becerisi gerektiren çoktan seçmeli bir sınavdır.

Bir veri seti hazırlıyoruz SAA-C01 ve SAA-C03 örnek sınav soruları. Mevcut 20 sorudan ilk 4'ünü birkaç örnek olarak kullanıyoruz ve modelden geri kalan 16 soruyu yanıtlamasını istiyoruz. Bu sefer AI21 Labs Jurassic-2 Mid modeliyle çıkarım yapıyoruz ve aynı anda maksimum 10 akıl yürütme yolu oluşturuyoruz. sıcaklık 0.7. Sonuçlar, öz tutarlılığın performansı artırdığını gösteriyor: açgözlü CoT 11 doğru cevap üretse de, öz tutarlılık 2 yanıtta daha başarılı oluyor.

Aşağıdaki tablo, 5 çalıştırma üzerinden ortalaması alınan 10 ve 100 örneklenmiş yol için doğruluk sonuçlarını gösterir.

. Açgözlü kod çözme T = 0.7
# örneklenen yol: 5 68.6 74.1 0.7 ±
# örneklenen yol: 10 68.6 78.9 ± 0.3

Aşağıdaki tabloda, kendi kendine tutarlılık başarılı olurken açgözlü CoT tarafından yanlış yanıtlanan iki sınav sorusunu sunuyoruz ve her durumda modelin doğru veya yanlış yanıtlar üretmesine yol açan doğru (yeşil) veya yanlış (kırmızı) akıl yürütme izlerini vurguluyoruz. Kendi kendine tutarlılıkla oluşturulan her örneklenmiş yol doğru olmasa da, örneklenmiş yolların sayısı arttıkça çoğunluk doğru cevaba yaklaşır. Açgözlü sonuçları iyileştirmek için genellikle 5-10 yolun yeterli olduğunu ve bu değerlerin ötesinde verimlilik açısından getirilerin azaldığını gözlemliyoruz.

Soru

Bir web uygulaması, müşterilerin siparişleri bir S3 klasörüne yüklemesine olanak tanır. Ortaya çıkan Amazon S3 olayları, SQS kuyruğuna mesaj ekleyen bir Lambda işlevini tetikler. Tek bir EC2 bulut sunucusu kuyruktaki mesajları okur, işler ve bunları benzersiz sipariş kimliğine göre bölümlenmiş bir DynamoDB tablosunda saklar. Gelecek ay trafiğin 10 kat artması bekleniyor ve bir Çözüm Mimarı olası ölçeklendirme sorunlarına karşı mimariyi inceliyor.

Yeni trafiğe uyum sağlayacak şekilde ölçeklenebilmek için yeniden mimariye ihtiyaç duyması muhtemel bileşen hangisidir?

A. Lambda işlevi
B. SQS kuyruğu
C. EC2 örneği
D. DynamoDB tablosu

AWS'de çalışan bir uygulama, veritabanı için Amazon Aurora Multi-AZ DB kümesi dağıtımını kullanır. Performans ölçümlerini değerlendirirken bir çözüm mimarı, veritabanı okumalarının yüksek G/Ç'ye neden olduğunu ve veritabanına yönelik yazma isteklerinde gecikmeye neden olduğunu keşfetti.

Çözüm mimarı okuma isteklerini yazma isteklerinden ayırmak için ne yapmalıdır?

A. Aurora veritabanında okuma önbelleğe almayı etkinleştirin.
B. Multi-AZ yedek bulut sunucusundan okumak için uygulamayı güncelleyin.
C. Bir Aurora kopyası oluşturun ve uygulamayı uygun uç noktaları kullanacak şekilde değiştirin.
D. İkinci bir Aurora veritabanı oluşturun ve onu okuma kopyası olarak birincil veritabanına bağlayın.

Doğru cevap C – Tek bir EC2 bulut sunucusu ölçeklenmeyecektir ve mimaride tek bir hata noktasıdır. Çok daha iyi bir çözüm, 2 kullanılabilirlik bölgesindeki Otomatik Ölçeklendirme grubundaki EC2 bulut sunucularının kuyruktaki mesajları okumasını sağlamak olacaktır. Diğer yanıtların tümü, ölçeklenecek şekilde yapılandırılabilen veya otomatik olarak ölçeklenecek yönetilen hizmetlerdir. C – Aurora Replikaları okuma trafiğini boşaltmanın bir yolunu sunar. Aurora Replikaları ana veritabanıyla aynı temel depolamayı paylaştığından gecikme süresi genellikle çok düşüktür. Aurora Replica'ların kendi uç noktaları vardır, bu nedenle uygulamanın okuma trafiğini yeni uç noktalara yönlendirecek şekilde yapılandırılması gerekir.
Açgözlü kod çözme Örneği yeniden boyutlandırmak mümkün olmayabileceğinden EC2 örneğini doğrudan ölçeklendirmek mümkün olmayabilir. Lambda işlevini ölçeklendirmek yeterli olmayabilirLambda işlevlerinin 6 GB bellek ayırma sınırı olduğundan. SQS kuyruğunu ölçeklendirmek yeterli olmayabilirSQS'nin 10,000 mesaj sınırı olduğundan. DynamoDB tabloları daha fazla kapasite birimi sağlanarak ölçeklendirilebilir. Doğru cevap D'dir. Uygulamayı Multi-AZ yedek bulut sunucusundan okuyacak şekilde değiştirme (B seçeneği) en iyi yaklaşımdır. Beklemedeki örnek, birincil örnekten eşzamansız olarak çoğaltılır, bu nedenle okuma işlemleri, yazma işlemlerini etkilemez. Okumanın önbelleğe alınmasının etkinleştirilmesi (seçenek A) veya Aurora kopyası oluşturmak (C seçeneği) G/Ç çekişme sorununu çözmeyecektir. İkinci bir Aurora veritabanı oluşturmak ve bunu bir okuma kopyası (seçenek D) olarak bağlamak da G/Ç çekişme sorununu çözmeyecektir. Doğru cevap B'dir.
Örneklenen yol #1 EC2 bulut sunucusunu mevcut boyutunun 10 katına ölçeklendirmek, maliyet veya performans açısından mümkün olmayabilir. Pahalı olabilecek daha büyük bir örnek gerektirir. Daha uygun maliyetli bir yaklaşım, yükü paylaşmak için daha küçük örneklerden oluşan bir sürünün (örneğin, Otomatik Ölçeklendirme Grubu) kullanılması olabilir. Bu durumda EC2 örneğinin büyük olasılıkla yeniden tasarlanması gerekecektir. Doğru cevap C'dir. Uygulamayı uygun uç noktaları kullanacak şekilde değiştirmek, uygulama kodunda değişiklik gerektireceğinden pratik bir çözüm değildir. Doğru cevap C: Bir Aurora kopyası oluşturun ve uygulamayı uygun uç noktaları kullanacak şekilde değiştirin.
Örneklenen yol #2 Tek bir EC2 bulut sunucusunu ölçeklendirmek, diğer hizmet bileşenlerini ölçeklendirmekten daha zor ve sorunludur. Amazon SQS, Lambda ve DynamoDB otomatik olarak ölçeklenebilir artan yük ile başa çıkmak için. Doğru cevap C'dir.

(C) Bir Aurora kopyası oluşturun ve uygulamayı uygun uç noktaları kullanacak şekilde değiştirin.

Bir Aurora Replika yapılandırarak okuma trafiğini yazma trafiğinden ayırabilirsiniz. Aurora Replikaları farklı uç nokta URL'leri kullanıyorokuma trafiğini birincil veritabanı yerine kopyaya yönlendirmenize olanak tanır. Replika, okuma isteklerini birincil veritabanına yapılan yazma isteklerine paralel olarak işleyebilir, G/Ç'yi ve gecikmeyi azaltır.

Temizlemek

Amazon Bedrock'ta toplu çıkarım yapmak, Amazon Bedrock Fiyatlandırmasına göre ücrete tabidir. Adımları tamamladığınızda SageMaker not defteri örneğinizi silin ve gelecekte ücret alınmasını önlemek için S3 klasörlerinizdeki tüm verileri kaldırın.

Hususlar

Gösterilen çözüm, kendi kendine tutarlılıkla istendiğinde dil modellerinin performansının arttığını gösterse de, izlenecek yolun üretime hazır olmadığını unutmamak önemlidir. Üretime dağıtmadan önce, aşağıdaki gereksinimleri göz önünde bulundurarak bu kavram kanıtını kendi uygulamanıza uyarlamanız gerekir:

  • Yetkisiz kullanımı önlemek için API'lere ve veritabanlarına erişim kısıtlaması.
  • IAM rol erişimi ve güvenlik gruplarıyla ilgili AWS güvenliğinin en iyi uygulamalarına bağlılık.
  • Ani enjeksiyon saldırılarını önlemek için kullanıcı girişinin doğrulanması ve temizlenmesi.
  • Test ve denetimi mümkün kılmak için tetiklenen süreçlerin izlenmesi ve günlüğe kaydedilmesi.

Sonuç

Bu gönderi, kendi kendine tutarlılık ipucunun, aritmetik ve çoktan seçmeli mantıksal beceriler gerektiren karmaşık NLP görevlerinde üretken dil modellerinin performansını artırdığını göstermektedir. Kendi kendine tutarlılık, çeşitli akıl yürütme yolları oluşturmak için sıcaklığa dayalı stokastik kod çözmeyi kullanır. Bu, modelin doğru yanıtlara ulaşmak için çeşitli ve yararlı düşünceleri ortaya çıkarma yeteneğini artırır.

Amazon Bedrock toplu çıkarımıyla, Cohere Command dil modelinin bir dizi aritmetik problemine kendi kendine tutarlı yanıtlar üretmesi istenir. Doğruluk, açgözlü kod çözmeyle %51.7'den, T=68'da 30 muhakeme yolunu kendi kendine tutarlı örneklemeyle %1.0'e çıkar. Beş yolu örneklemek doğruluğu zaten yüzde 7.5 puan artırıyor. AWS Certification sınavında AI21 Labs Jurassic-2 Mid modelinin sonuçlarının da gösterdiği gibi, yaklaşım diğer dil modellerine ve muhakeme görevlerine aktarılabilir. Küçük boyutlu bir soru setinde, beş örneklenmiş yolla kendi içinde tutarlılık, açgözlü CoT'ye göre doğruluğu yüzde 5 puan artırır.

Üretken dil modelleri ile kendi uygulamalarınızda gelişmiş performans için kendi kendine tutarlılık yönlendirmesini uygulamanızı teşvik ediyoruz. Hakkında daha fazla öğren Tutarlı Komut ve AI21 Laboratuvarları Jurassic Amazon Bedrock'ta mevcut modeller. Toplu çıkarım hakkında daha fazla bilgi için bkz. Toplu çıkarımı çalıştır.

Teşekkür

Yazar, teknik incelemeciler Amin Tajgardoon ve Patrick McSweeney'e faydalı geri bildirimleri için teşekkür eder.


Yazar Hakkında

Lucía Santamaría Amazon ML Üniversitesi'nde Kıdemli Uygulamalı Bilim Adamıdır ve burada uygulamalı eğitim yoluyla şirket genelinde ML yeterlilik düzeyini yükseltmeye odaklanmaktadır. Lucía'nın astrofizik alanında doktorası var ve teknoloji bilgisi ve araçlarına erişimi demokratikleştirme konusunda tutkulu.

spot_img

En Son İstihbarat

spot_img