20.7 C
New York

Amazon Redshift'teki akış verilerini üretken yapay zeka ile zenginleştirin, standartlaştırın ve çevirin | Amazon Web Hizmetleri

Yayınlandı:

Amazon Kırmızıya Kaydırma verilerinizi analiz etmeyi basit ve uygun maliyetli hale getiren hızlı, ölçeklenebilir, güvenli ve tam olarak yönetilen bir bulut veri ambarıdır. On binlerce müşteri, günde eksabaytlarca veriyi işlemek ve BI, tahmine dayalı analitik ve gerçek zamanlı akış analitiği gibi analitik iş yüklerini desteklemek için Amazon Redshift'i kullanıyor.

Amazon Redshift ML makine öğrenimi (ML) modellerini doğrudan Redshift ortamında oluşturmanıza, eğitmenize ve dağıtmanıza olanak tanıyan bir Amazon Redshift özelliğidir. Artık önceden eğitilmiş, halka açık geniş dil modellerini (LLM'ler) kullanabilirsiniz. Amazon SageMaker Hızlı Başlangıç Redshift ML'nin bir parçası olarak Yüksek Lisans'ın gücünü analitiklere taşımanıza olanak tanır. Redshift ML iş akışlarınızın bir parçası olarak Meta, AI21 Labs, LightOn, Hugging Face, Amazon Alexa ve Cohere gibi önde gelen sağlayıcıların önceden eğitilmiş, halka açık LLM'lerini kullanabilirsiniz. Redshift ML, LLM'lerle entegre olarak analitik verileriniz üzerinde metin özetleme, duygu analizi, adlandırılmış varlık tanıma, metin oluşturma, dil çevirisi, veri standardizasyonu, veri zenginleştirme gibi çok çeşitli doğal dil işleme (NLP) kullanım örneklerini destekleyebilir. ve dahası. Bu özellik sayesinde, gücü üretken yapay zeka (AI) ve Yüksek Lisans'lar veri kümelerinize uygulayabileceğiniz basit SQL işlevleri olarak kullanımınıza sunulmaktadır. Entegrasyon, Redshift veri ambarı ortamınızdaki gelişmiş makine öğrenimi modellerinin özelliklerinden yararlanmanıza olanak tanıyacak şekilde kullanımı basit ve yapılandırması esnek olacak şekilde tasarlanmıştır.

Bu gönderide Amazon Redshift'in, doğal dil istemlerini ve üretken yapay zekanın gücünü kullanarak akış verilerini zenginleştirerek, standartlaştırarak, temizleyerek ve çevirerek üretken yapay zeka kullanım örnekleriniz için veri temeli olarak nasıl hareket edebileceğini gösteriyoruz. Günümüzün veri odaklı dünyasında kuruluşlar genellikle Nesnelerin İnterneti (IoT) cihazları, sosyal medya platformları ve işlem sistemleri gibi çeşitli kaynaklardan gerçek zamanlı veri akışlarını alır. Ancak bu akış verileri tutarsız olabilir, eksik değerlere sahip olabilir ve standart dışı formatlarda olabilir; bu durum, aşağı yönlü analiz ve karar verme süreçleri için önemli zorluklar ortaya çıkarabilir. Üretken yapay zekanın gücünden yararlanarak akış verilerini Amazon Redshift'e aktardıktan sonra sorunsuz bir şekilde zenginleştirip standartlaştırabilir, böylece yüksek kaliteli, tutarlı ve değerli bilgiler elde edebilirsiniz. Üretken yapay zeka modelleri, verilerinizden yeni özellikler elde edebilir ve karar alma sürecini geliştirebilir. Bu zenginleştirilmiş ve standartlaştırılmış veriler daha sonra e-ticaret, finans, sağlık hizmetleri ve üretim de dahil olmak üzere çeşitli sektörlerde doğru gerçek zamanlı analizleri, gelişmiş karar almayı ve gelişmiş operasyonel verimliliği kolaylaştırabilir. Bu kullanım örneğinde veri zenginleştirme, standartlaştırma ve temizleme sürecini kolaylaştırmak amacıyla Meta Llama-3-8B-Instruct LLM'yi Amazon Redshift ile nasıl entegre edeceğimizi göstermek için kullanıyoruz.

Çözüme genel bakış

Aşağıdaki şema, akış verilerini zenginleştirmek, standartlaştırmak ve temizlemek için Yüksek Lisans'larla entegre olmak üzere Redshift ML yeteneklerinin nasıl kullanılacağını gösterir. Süreç, gelen ham akış verileriyle başlar. Amazon Kinesis Veri Akışları or Apache Kafka için Amazon Tarafından Yönetilen Akış (Amazon MSK), Amazon Redshift'te ham veri olarak hayata geçirilir. Kullanıcı tanımlı işlevler (UDF'ler) daha sonra ham verilere uygulanır ve bu, verileri zenginleştirmek ve standartlaştırmak için SageMaker JumpStart'ta konuşlandırılan bir LLM'yi çağırır. Geliştirilmiş, temizlenmiş veriler daha sonra Amazon Redshift'te depolanarak doğru gerçek zamanlı analize, iyileştirilmiş karar alma sürecine ve gelişmiş operasyonel verimliliğe hazır hale gelir.

Bu çözümü dağıtmak için aşağıdaki adımları tamamlıyoruz:

  1. Kullanım senaryosu için bir LLM seçin ve SageMaker JumpStart'taki temel modelleri (FM'ler) kullanarak dağıtın.
  2. SageMaker JumpStart LLM uç noktasına referans veren bir model oluşturmak için Redshift ML'yi kullanın.
  3. Ham akış verilerini yüklemek için gerçekleştirilmiş bir görünüm oluşturun.
  4. Verileri dönüştürmek ve sonuçları görüntülemek için istemlerle model işlevini çağırın.

Örnek veriler

Aşağıdaki kod, akıştaki ham sipariş verilerinin bir örneğini gösterir:

Record1: {
    "orderID":"101",
    "email":" john. roe @example.com",
    "phone":"+44-1234567890",
    "address":"123 Elm Street, London",
    "comment": "please cancel if items are out of stock"
}
Record2: {
    "orderID":"102",
    "email":" jane.s mith @example.com",
    "phone":"(123)456-7890",
    "address":"123 Main St, Chicago, 12345",
    "comment": "Include a gift receipt"
}
Record3: {
    "orderID":"103",
    "email":"max.muller @example.com",
    "phone":"+498912345678",
    "address":"Musterstrabe, Bayern 00000",
    "comment": "Bitte nutzen Sie den Expressversand"
}
Record4: {
    "orderID":"104",
    "email":" julia @example.com",
    "phone":"(111) 4567890",
    "address":"000 main st, los angeles, 11111",
    "comment": "Entregar a la puerta"
}
Record5: {
    "orderID":"105",
    "email":" roberto @example.com",
    "phone":"+33 3 44 21 83 43",
    "address":"000 Jean Allemane, paris, 00000",
    "comment": "veuillez ajouter un emballage cadeau"
}

Ham veriler, e-posta ve telefon numaraları için tutarsız biçimlendirmeye sahiptir, adres eksiktir ve ülke bilgisi yoktur ve yorumlar çeşitli dillerdedir. Ham verilerle ilgili zorlukların üstesinden gelmek için, bir ETL iş akışında bir LLM ile entegre edilmiş Redshift ML'yi kullanarak kapsamlı bir veri dönüştürme süreci uygulayabiliriz. Bu yaklaşım, verilerin standartlaştırılmasına, temizlenmesine ve istenen çıktı formatını karşılayacak şekilde zenginleştirilmesine yardımcı olabilir.

Aşağıdaki tabloda zenginleştirilmiş adres verilerinin bir örneği gösterilmektedir.

Sipariş Kimliği Adres Ülke (LLM kullanılarak tanımlanır)
101 123 Elm Caddesi, Londra İngiltere
102 123 Ana Cadde, Chicago, 12345 Amerika Birleşik Devletleri
103 Musterstrabe, Bayern 00000 Almanya
104 000 ana cadde, Los Angeles, 11111 Amerika Birleşik Devletleri
105 000 Jean Allemane, Paris, 00000 Fransa

Aşağıdaki tabloda standartlaştırılmış e-posta ve telefon verilerinin bir örneği gösterilmektedir.

Sipariş Kimliği E-posta

temizlenmiş_email

(Yüksek Lisans Kullanarak)

Telefon Standartlaştırılmış Telefon (LLM Kullanarak)
101 John. karaca @example.com john.roe@example.com +44 (1234567890) XNUMX + 44 1234567890
102 jane.s mith @example.com Jane Smith@example.com (123)456-7890 + 1 1234567890
103 max.müller @example.com max.müller@example.com 498912345678 + 49 8912345678
104 julia @example.com Julia@example.com (111) 4567890 + 1 1114567890
105 Roberto @example.com Roberto@example.com + 33 3 44 21 83 43 + 33 344218343

Aşağıdaki tabloda çevrilmiş ve zenginleştirilmiş yorum verilerinin bir örneği gösterilmektedir.

Sipariş Kimliği Yorum Yap

türkçe_yorum

(LLM kullanılarak çevrilmiştir)

yorum_dil

(LLM tarafından tanımlanmıştır)

101 ürünler stokta yoksa lütfen iptal edin öğeler st dışındaysa lütfen iptal edin İngilizce
102 Hediye makbuzu ekleyin Hediye makbuzu ekleyin İngilizce
103 Expressversand'dan biraz bilgi alın Lütfen ekspres kargoyu kullanın Almanca
104 Porto'ya girin Kapı eşiğine bırak İspanyolca
105 bir paketleme kutusu ekleyin Lütfen hediye paketi ekleyin Fransızca

Önkoşullar

İzlenecek yoldaki adımları uygulamadan önce aşağıdaki önkoşullara sahip olduğunuzdan emin olun:

Bir LLM seçin ve SageMaker JumpStart'ı kullanarak dağıtın

LLM'nizi dağıtmak için aşağıdaki adımları tamamlayın:

  1. SageMaker JumpStart konsolunda şunu seçin: temel modelleri Gezinti bölmesinde.
  2. FM'inizi arayın (bu yazı için, Meta-Llama-3-8B-Instruct) ve Seç Modeli görüntüle.
  3. Üzerinde Model ayrıntıları sayfasında Son Kullanıcı Lisans Sözleşmesini (EULA) inceleyin ve Not defterini Studio'da aç dizüstü bilgisayarı kullanmaya başlamak için Amazon SageMaker Stüdyosu.
  4. içinde Etki alanı ve kullanıcı profilini seçin açılır pencerede bir profil seçin, ardından Stüdyo Aç.
  5. Dizüstü bilgisayar açıldığında, Not defteri ortamını kurun açılır pencerede t3.medium'u veya dizüstü bilgisayarda önerilen başka bir bulut sunucusu tipini seçin ve ardından Seç.
  6. Bulunan not defteri hücresini değiştirin accept_eula = False için accept_eula = True.
  7. Çalıştır simgesini kullanarak ilk beş hücreyi seçin ve çalıştırın (aşağıdaki ekran görüntüsünde vurgulanan bölümlere bakın).
  1. Beşinci hücreyi çalıştırdıktan sonra Uç noktalar altında dağıtımlar oluşturulan uç noktayı görebileceğiniz gezinti bölmesinde.
  2. Uç nokta adını kopyalayın ve uç nokta durumu güncellenene kadar bekleyin. Serviste.

Uç noktanın kullanılabilir olması 30-45 dakika sürebilir.

SageMaker JumpStart LLM uç noktasına referans veren bir model oluşturmak için Redshift ML'yi kullanın

Bu adımda Redshift ML'yi ve kendi modelini getir (BYOM) özelliğini kullanarak bir model oluşturursunuz. Model oluşturulduktan sonra LLM modeline uzaktan çıkarım yapmak için çıktı fonksiyonunu kullanabilirsiniz. Daha önce oluşturduğunuz Yüksek Lisans uç noktası için Amazon Redshift'te bir model oluşturmak için aşağıdaki adımları tamamlayın:

  1. Amazon Redshift Query Editor V2'yi kullanarak Redshift uç noktasında oturum açın.
  2. Aşağıdakilere sahip olduğunuzdan emin olun AWS Kimlik ve Erişim Yönetimi (IAM) politikası varsayılan IAM rolüne eklendi. Yer değiştirmek daha önce yakaladığınız SageMaker JumpStart uç noktası adıyla:
    {
      "Statement": [
          {
              "Action": "sagemaker:InvokeEndpoint",
              "Effect": "Allow",
              "Resource": "arn:aws:sagemaker:<region>:<AccountNumber>:endpoint/<endpointname>",
              "Principal": "*"
          }
      ]
    }

  3. Amazon Redshift'te bir model oluşturmak için sorgu düzenleyicide aşağıdaki SQL ifadesini çalıştırın. Yer değiştirmek daha önce yakaladığınız uç nokta adıyla. Modelin giriş ve dönüş veri tipinin SUPER veri tipi olduğunu unutmayın.
    CREATE MODEL meta_llama_3_8b_instruct
    FUNCTION meta_llama_3_8b_instruct(super)
    RETURNS SUPER
    SAGEMAKER '<endpointname>'
    IAM_ROLE default;

Ham akış verilerini yüklemek için gerçekleştirilmiş bir görünüm oluşturun

Akış yoluyla aktarılan veriler için gerçekleştirilmiş görünüm oluşturmak üzere aşağıdaki SQL'i kullanın. customer-orders aktarım. Gerçekleştirilmiş görünüm otomatik yenilemeye ayarlıdır ve veriler akışa gelmeye devam ettikçe yenilenecektir.

CREATE EXTERNAL SCHEMA kinesis_streams FROM KINESIS
IAM_ROLE default;

CREATE MATERIALIZED VIEW mv_customer_orders AUTO REFRESH YES AS
    SELECT 
    refresh_time,
    approximate_arrival_timestamp,
    partition_key,
    shard_id,
    sequence_number,
    --json_parse(from_varbyte(kinesis_data, 'utf-8')) as rawdata,
    json_extract_path_text(from_varbyte(kinesis_data, 'utf-8'),'orderID',true)::character(36) as orderID,
    json_extract_path_text(from_varbyte(kinesis_data, 'utf-8'),'email',true)::character(36) as email,
    json_extract_path_text(from_varbyte(kinesis_data, 'utf-8'),'phone',true)::character(36) as phone,
    json_extract_path_text(from_varbyte(kinesis_data, 'utf-8'),'address',true)::character(36) as address,
    json_extract_path_text(from_varbyte(kinesis_data, 'utf-8'),'comment',true)::character(36) as comment
    FROM kinesis_streams."customer-orders";

Bu SQL ifadelerini çalıştırdıktan sonra gerçekleştirilmiş görünüm mv_customer_orders yeni veriler geldikçe oluşturulacak ve sürekli olarak güncellenecektir. customer-orders Kinesis veri akışı.

Verileri dönüştürmek ve sonuçları görüntülemek için istemlerle model işlevini çağırın

Artık ham verileri dönüştürmek ve sonuçları görüntülemek için Redshift ML LLM model işlevini istemlerle çağırabilirsiniz. Giriş verisi, özellik olarak bilgi istemi ve model parametrelerine sahip bir JSON'dur:

  • İstemi – İstem, yeni içerik oluşturmak için üretken yapay zeka modeline sağlanan giriş metni veya talimattır. Bilgi istemi, modelin ilgili ve tutarlı çıktı üretmek için kullandığı yol gösterici bir sinyal görevi görür. Her modelin benzersiz hızlı mühendislik rehberliği vardır. Bakın Meta Llama 3 Model kartı talimatını verin hızlı formatları ve rehberliği için.
  • Model parametreleri – Model parametreleri, modelin davranışını ve çıktısını belirler. Model parametreleriyle rastgeleliği, oluşturulan jeton sayısını, modelin nerede durması gerektiğini ve daha fazlasını kontrol edebilirsiniz.

içinde Uç noktayı çağır SageMaker Studio not defterinin bölümünde model parametrelerini ve örnek yükleri bulabilirsiniz.

k

Aşağıdaki SQL ifadesi, telefon numarasını ve e-posta verilerini standartlaştırmaya, adresten ülkeyi tanımlamaya ve yorumları İngilizceye çevirerek orijinal yorumun dilini belirlemeye yönelik istemlerle Redshift ML LLM modeli işlevini çağırır. SQL'in çıktısı tabloda saklanır enhanced_raw_data_customer_orders.

create table enhanced_raw_data_customer_orders as
select phone,email,comment, address
  ,meta_llama_3_8b_instruct(json_parse('{"inputs":"<|begin_of_text|><|start_header_id|>user<|end_header_id|>nnConvert this phone number into a standard format: '||phone||'nnA standard phone number had plus sign followed by CountryCode followed by a space and the rest of the phone number without any spaces or dashes. nnExamples: +1 1234567890, +91 1234567890nnReturn only the standardized phone number, nothing else<|eot_id|><|start_header_id|>assistant<|end_header_id|>nn","parameters":{"stop": "<|eot_id|>"}}')) as standardized_phone
  ,meta_llama_3_8b_instruct(json_parse('{"inputs":"<|begin_of_text|><|start_header_id|>user<|end_header_id|>nnConvert this email into a standard format:'||email||'nnA standard email ID does not have spaces and is lower case. Return only the standardized email and nothing else<|eot_id|><|start_header_id|>assistant<|end_header_id|>nn","parameters":{"stop": "<|eot_id|>"}}')) as standardized_email
  ,meta_llama_3_8b_instruct(json_parse('{"inputs":"<|begin_of_text|><|start_header_id|>user<|end_header_id|>nnIdentify which country is this address in:'||address||'nnReturn only the country and nothing else<|eot_id|><|start_header_id|>assistant<|end_header_id|>nn","parameters":{"stop": "<|eot_id|>"}}')) as country
  ,meta_llama_3_8b_instruct(json_parse('{"inputs":"<|begin_of_text|><|start_header_id|>user<|end_header_id|>nnTranslate this statement to english if it is not in english:'||comment||'nnReturn the english comment and nothing else. Output only english<|eot_id|><|start_header_id|>assistant<|end_header_id|>nn","parameters":{"stop": "<|eot_id|>"}}')) as translated_comment
  ,meta_llama_3_8b_instruct(json_parse('{"inputs":"<|begin_of_text|><|start_header_id|>user<|end_header_id|>nnIdentify which language this statement is in:'||comment||'nnReturn only the language and nothing else<|eot_id|><|start_header_id|>assistant<|end_header_id|>nn","parameters":{"stop": "<|eot_id|>"}}')) as orig_comment_language
  from mv_customer_orders;

Sorgula enhanced_raw_data_customer_orders Verileri görüntülemek için tablo. LLM'nin çıktısı JSON formatındadır ve sonuç generated_text bağlanmak. SUPER veri tipinde saklanır ve PartiQL kullanılarak sorgulanabilir:

select 
    phone as raw_phone
    , standardized_phone.generated_text :: varchar as standardized_phone 
    , email as raw_email
    , standardized_email.generated_text :: varchar as standardized_email
    , address as raw_address
    , country.generated_text :: varchar as country
    , comment as raw_comment
    , translated_comment.generated_text :: varchar as translated_comment
    , orig_comment_language.generated_text :: varchar as orig_comment_language
from enhanced_raw_data_customer_orders;

Aşağıdaki ekran görüntüsü çıktımızı göstermektedir.

Temizlemek

Gelecekte ücret alınmasını önlemek için oluşturduğunuz kaynakları silin:

  1. Hücreyi çalıştırarak SageMaker JumpStart'taki LLM uç noktasını silin. Temizlemek Jupyter not defterindeki bölüm.
  2. Kinesis veri akışını silin.
  3. Redshift Sunucusuz çalışma grubunu veya Redshift kümesini silin.

Sonuç

Bu yazıda size Amazon Redshift'teki akış verilerini üretken yapay zeka ve LLM'lerle nasıl zenginleştireceğinizi, standartlaştıracağınızı ve çevireceğinizi gösterdik. Spesifik olarak, SageMaker JumpStart aracılığıyla sunulan Meta Llama 3 8B Instruct LLM'nin Redshift ML ile entegrasyonunu gösterdik. Örnek olarak Meta Llama 3 modelini kullanmış olsak da siz çeşitli modellerden yararlanabilirsiniz. SageMaker JumpStart'ta mevcut olan diğer önceden eğitilmiş LLM modelleri Redshift ML iş akışlarınızın bir parçası olarak. Bu entegrasyon, veri zenginleştirme, içerik özetleme, bilgi grafiği geliştirme ve daha fazlası gibi çok çeşitli NLP kullanım durumlarını keşfetmenize olanak tanır. Gelişmiş LLM'leri Redshift ortamınıza sorunsuz bir şekilde entegre etme yeteneği, Redshift ML'nin analitik yeteneklerini önemli ölçüde genişletir. Bu, veri analistlerine ve geliştiricilere, tanıdık SQL komutları tarafından yönlendirilen kolaylaştırılmış süreçlerle ML'yi veri ambarı iş akışlarına dahil etme yetkisi verir.

Bu entegrasyonun tüm potansiyelini keşfetmenizi ve üretken yapay zeka ve yüksek lisans eğitimlerinin gücünü Amazon Redshift ile entegre eden çeşitli kullanım örneklerini uygulamaya koymanızı öneririz. Amazon Redshift'in ölçeklenebilirliği ve performansı ile Yüksek Lisans'ların gelişmiş doğal dil işleme yeteneklerinin birleşimi, veriye dayalı içgörüler ve karar alma için yeni olanakların kilidini açabilir.


yazarlar hakkında

anuşa şalla Amazon Redshift'e odaklanmış bir Kıdemli Analiz Uzmanı Çözüm Mimarıdır. Birçok müşterinin bulutta ve şirket içinde büyük ölçekli veri ambarı çözümleri oluşturmasına yardımcı olmuştur. Veri analitiği ve veri bilimi konusunda tutkulu.

İlgili Makaleler

spot_img

Son Makaleler

spot_img