Yerleşik Amazon Adaçayı Yapıcı XGBoost algoritması, popüler olanı çalıştırmak için yönetilen bir kapsayıcı sağlar. XGBoost dağıtılmış eğitim, büyük ölçekli veri kümeleri için veri kümesi parçalama gibi gelişmiş eğitim veya çıkarım özelliklerini desteklemenin ek rahatlığıyla makine öğrenimi (ML) çerçevesi, A/B modeli testiya da çok modelli çıkarım uç noktalar. Bu güçlü algoritmayı farklı gereksinimleri karşılayacak şekilde de genişletebilirsiniz.
Kodu ve bağımlılıkları tek bir kapta paketlemek, uzun vadeli kod bakımı, yeniden üretilebilirlik ve denetleme amaçları için kullanışlı ve sağlam bir yaklaşımdır. Kapsayıcının değiştirilmesi, doğrudan temel kapsayıcıyı takip eder ve temel kap tarafından zaten desteklenen mevcut işlevlerin kopyalanmasını önler. Bu gönderide, SageMaker XGBoost algoritma kapsayıcısının iç işleyişini inceliyoruz ve kapsayıcıyı doğrudan özelleştirmek için pragmatik komut dosyaları sağlıyoruz.
SageMaker XGBoost konteyner yapısı
SageMaker yerleşik XGBoost algoritması, bağımsız bir kapsayıcı olarak paketlenmiştir. GitHub'da mevcut, ve geliştirici dostu Apache 2.0 açık kaynak lisansı altında genişletilebilir. Konteyner paketleri açık kaynaklı XGBoost algoritması ve diğer AWS Bulut hizmetleriyle entegre SageMaker ortamında algoritmayı çalıştırmak için yardımcı araçlar. Bu, XGBoost modellerini çeşitli veri kaynakları, Yapmak toplu tahminler çevrimdışı verilerde veya bir çıkarım uç noktası gerçek zamanlı olarak boru hattı.
Kapsayıcı, farklı giriş noktalarıyla eğitim ve çıkarım işlemlerini destekler. Çıkarım modu için giriş, ana fonksiyonda bulunabilir. serve.py komut dosyası. Gerçek zamanlı çıkarım sunumu için kapsayıcı bir Cep şişesitabanlı web sunucusu o zaman çağrılan, verileri içeren HTTP kodlu bir istek alır, verilerin kodunu XGBoost'un DMatriks biçim, modeli yükler, ve bir döndürür HTTP kodlu yanıt geri. Bu yöntemler, altında kapsüllenir. Puanlama Hizmeti büyük ölçüde komut dosyası modu aracılığıyla da özelleştirilebilen sınıf (aşağıdaki Ek'e bakın).
Eğitim modu (algoritma modu) için giriş noktası, programdaki ana işlevdir. eğitim.py. Ana işlev, eğitim ortamını kurar ve eğitim işi işlevini çağırır. Dağıtılmış veya tek düğümlü eğitime veya çapraz doğrulama gibi yardımcı programlara izin verecek kadar esnektir. Eğitim sürecinin kalbi şurada bulunabilir: tren işi fonksiyonu.
Konteyneri paketleyen Docker dosyaları şurada bulunabilir: GitHub repo. Kapsayıcının iki adımda oluşturulduğuna dikkat edin: a baz önce konteyner inşa edilir, ardından son üstte konteyner.
Çözüme genel bakış
Kapsayıcıyı kaynak kodu aracılığıyla değiştirebilir ve yeniden oluşturabilirsiniz. Ancak bu, tüm bağımlılıkları ve paketleri sıfırdan toplamayı ve yeniden oluşturmayı içerir. Bu gönderide, önceden oluşturulmuş ve genel kullanıma açık SageMaker XGBoost algoritması kapsayıcı görüntüsünün üzerindeki kapsayıcıyı değiştiren daha basit bir yaklaşımı tartışıyoruz.
Bu yaklaşımda biz Çek genel SageMaker XGBoost görüntüsünün bir kopyası, komut dosyalarını değiştirin veya paketler ekleyin ve kapsayıcıyı en üste yeniden oluşturun. Değiştirilen kap, özel bir depoda saklanabilir. Bu şekilde, aracı bağımlılıkları yeniden oluşturmaktan kaçınır ve bunun yerine doğrudan resmi kapsayıcıda paketlenmiş, önceden oluşturulmuş kitaplıkların üzerine kurarız.
Aşağıdaki şekil, genel taban görüntüsünü çekmek, görüntüyü değiştirmek ve yeniden oluşturmak ve özel bir ortama yüklemek için kullanılan komut dosyasına genel bir bakış gösterir. Amazon Elastik Konteyner Kayıt Defteri (Amazon ECR) deposu. bu bash betiği Bu gönderiye eşlik eden kodda, şemada gösterilen tüm iş akışı adımlarını gerçekleştirir. Eşlik eden defter SageMaker XGBoost algoritmasının belirli bir sürümünün URI'sinin ilk olarak alındığı ve bash betiğigörüntüdeki Python komut dosyalarının ikisini değiştiren, onu yeniden oluşturan ve değiştirilen görüntüyü özel bir Amazon ECR deposuna iten . Ekteki kodu ihtiyaçlarınıza göre değiştirebilirsiniz.
Önkoşullar
The GitHub deposu bu gönderiye eşlik eden kodu içerir. çalıştırabilirsin örnek dizüstü AWS hesabınızda veya sağlanan AWS CloudFormation SageMaker not defteri kullanarak dizüstü bilgisayarı dağıtmak için yığın. Aşağıdaki ön koşullara ihtiyacınız var:
- Bir AWS hesabı.
- SageMaker toplu dönüştürme ve eğitim işlerini çalıştırmak için gerekli izinler ve Amazon ECR ayrıcalıkları. CloudFormation şablonu örnek oluşturur AWS Kimlik ve Erişim Yönetimi (IAM) rolleri.
Çözümü dağıtın
AWS CloudFormation kullanarak çözüm kaynaklarınızı oluşturmak için Yığını Başlat:
Yığın, GitHub deposunu klonlamak için önceden yapılandırılmış bir SageMaker not defterini dağıtır. izlenecek yol defter belirli bir sürüm için genel SageMaker XGBoost görüntüsünü çekme, değiştirme ve özel kapsayıcıyı özel bir Amazon ECR deposuna gönderme adımlarını içerir. Defter halkı kullanır Abalone veri seti örnek olarak, SageMaker XGBoost yerleşik eğitim modunu kullanarak bir modeli eğitir ve SHAP değerleriyle birlikte çıkarım üreten toplu dönüştürme işlerini gerçekleştirmek için bu modeli özel görüntüde yeniden kullanır.
Sonuç
SageMaker yerleşik algoritmaları, çeşitli özellikler ve işlevler sağlar ve Apache 2.0 açık kaynak lisansı altında daha da genişletilebilir. Bu gönderide, geriye dönük kod ve API uyumluluğu gibi üretim gereksinimlerini karşılamak için SageMaker XGBoost algoritması için üretim yerleşik kapsayıcısının nasıl genişletileceğini inceledik.
Örnek defter ve yardımcı scriptler SageMaker XGBoost kapsayıcı görüntüsünü istediğiniz gibi özelleştirmek için uygun bir başlangıç noktası sağlar. Bir şans ver!
Ek: Komut dosyası modu
komut dosyası modu girdileri dönüştürmekten ve modeli yüklemekten sorumlu işlevleri değiştirmek için bir arabirim sağlayarak birçok SageMaker yerleşik algoritmasını değiştirmenin bir yolunu sağlar. Komut dosyası modu, kapsayıcıyı doğrudan değiştirmek kadar esnek değildir, ancak yerleşik algoritmayı özelleştirmek için doğrudan ile çalışmaya gerek kalmadan tamamen Python tabanlı bir yol sağlar. liman işçisi.
Komut dosyası modunda, bir user-module
veri kodunun çözülmesini, modelin yüklenmesini ve tahminlerin yapılmasını özelleştirmek için sağlanır. Kullanıcı modülü bir tanımlayabilir transformer_fn
yanıtın hazırlanmasına kadar talebi işlemenin tüm yönlerini ele alır. Veya tanımlamak yerine transformer_fn
, özel yöntemler sağlayabilirsiniz model_fn
, input_fn
, predict_fn
, ve output_fn
Modeli yüklemeyi ve kodu çözmeyi ve girdiyi tahmin için hazırlamayı özelleştirmek için ayrı ayrı. Komut dosyası moduna daha kapsamlı bir genel bakış için bkz. SageMaker Komut Dosyası Modu ile Kendi Modelinizi Getirin.
Yazarlar Hakkında
Peyman Razaghi AWS'de Veri Bilimcisidir. Toronto Üniversitesi'nden bilgi teorisi alanında doktora derecesine sahiptir ve Los Angeles'taki Güney Kaliforniya Üniversitesi'nde (USC) doktora sonrası araştırma bilimcisiydi. AWS'ye katılmadan önce Peyman, Qualcomm'da bir dizi önemli uluslararası telekomünikasyon standardına katkıda bulunan bir personel sistem mühendisiydi. İstatistik ve sistem mühendisliği alanında hakemli birkaç bilimsel araştırma makalesi yazmıştır ve iş dışında ebeveynlik ve yol bisikleti sürmekten hoşlanır.
- "
- 100
- erişim
- Karşılamak
- Hesap
- ileri
- algoritma
- algoritmalar
- Türkiye
- zaten
- Amazon
- api
- yaklaşım
- ALAN
- mal
- AWS
- inşa etmek
- yerleşik
- Kaliforniya
- Klinik
- sınıf
- bulut
- bulut hizmetleri
- kod
- Toplama
- tamamen
- Konteyner
- içeren
- kolaylık
- Uygun
- oluşturur
- görenek
- veri
- veri bilimcisi
- dağıtmak
- dağıtır
- farklı
- direkt olarak
- tartışmak
- dağıtıldı
- liman işçisi
- mühendis
- çevre
- örnek
- uzatmak
- Özellikler
- şekil
- Ad
- esnek
- takip etme
- biçim
- bulundu
- iskelet
- işlev
- daha fazla
- GitHub
- harika
- tutar
- Ne kadar
- Nasıl Yapılır
- HTTPS
- Kimlik
- görüntü
- bilgi
- giriş
- entegre
- arayüzey
- Uluslararası
- IT
- İş
- Mesleki Öğretiler
- öğrenme
- Lisans
- uzun süreli
- Los Angeles
- makine
- makine öğrenme
- YAPAR
- Yapımı
- yönetilen
- ML
- model
- modelleri
- Daha
- defter
- numara
- resmi
- çevrimdışı
- Operasyon
- Diğer
- kendi
- Nokta
- Popüler
- güçlü
- tahmin
- Tahminler
- özel
- süreç
- üretmek
- üretim
- sağlamak
- sağlar
- sağlama
- halka açık
- amaçlı
- gerçek zaman
- Depo
- talep
- Yer Alan Kurallar
- araştırma
- Kaynaklar
- yanıt
- sorumlu
- İade
- yorum
- Rota
- koşmak
- bilim adamı
- Hizmetler
- servis
- Kırma işlemi
- Yazılım
- çözüm
- kaynak kodu
- Güney
- yığın
- standartlar
- istatistik
- destekli
- Destek
- Destekler
- Sistemler
- Kaynak
- İçinden
- birlikte
- araçlar
- üst
- toronto
- Eğitim
- trenler
- Dönüştürmek
- dönüşüm
- üniversite
- kullanım
- çeşitlilik
- Vikipedi
- İş
- olur