Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
ŞUNLAR IÇIN GEÇERLIDIR:
Azure CLI ml uzantısı v2 (geçerli)
Python SDK azure-ai-ml v2 (geçerli)
Azure Machine Learning'de bir modeli eğitmek için GitHub Actions'ı kullanmaya başlayın.
Bu makalede, Azure Machine Learning'de bir makine öğrenmesi modeli oluşturup dağıtan bir GitHub Actions iş akışı oluşturmayı öğreneceksiniz. NYC Taxi veri kümesinde bir scikit-learn doğrusal regresyon modeli eğitiyorsunuz.
GitHub Actions, deponuzdaki /.github/workflows/ yolundaki iş akışı YAML (.yml) dosyasını kullanır. Bu tanım, iş akışını oluşturan çeşitli adımları ve parametreleri içerir.
Önkoşullar
Azure Machine Learning çalışma alanı. Çalışma alanı oluşturma adımları için bkz. Çalışma alanı oluşturma.
Python v2 için Azure Machine Learning SDK'sı. SDK'yı yüklemek için aşağıdaki komutu kullanın:
pip install azure-ai-ml azure-identitySDK'nın mevcut yüklemesini en son sürüme güncelleştirmek için aşağıdaki komutu kullanın:
pip install --upgrade azure-ai-ml azure-identityDaha fazla bilgi için bkz. Python için Azure Machine Learning Paketi istemci kitaplığı.
- Bir GitHub hesabı. Hesabınız yoksa ücretsiz bir hesap oluşturun.
1. Adım: Kodu alma
GitHub'da aşağıdaki depoyu fork edin.
https://github.com/azure/azureml-examples
Çatallanmış deponuzu yerel olarak kopyalayın.
git clone https://github.com/YOUR-USERNAME/azureml-examples
2. Adım: Azure ile kimlik doğrulaması
İlk olarak Azure'da kimlik doğrulaması yapmayı tanımlayın. Önerilen, daha güvenli seçenek, OpenID Connect'i bir Microsoft Entra uygulaması veya kullanıcı tarafından atanan yönetilen kimlikle kullanarak oturum açmaktır. Gerekirse, bir hizmet ana bilgisayarı ve gizli anahtar kullanarak oturum açmayı da kullanabilirsiniz. Bu yaklaşım daha az güvenlidir ve önerilmez.
Dağıtım kimlik bilgileri oluşturma
OIDC ile Azure Oturum Açma eylemini kullanmak için, Microsoft Entra uygulamasında veya kullanıcı tarafından atanan yönetilen kimlikte federasyon kimlik bilgilerini yapılandırmanız gerekir.
Seçenek 1: Microsoft Entra uygulaması
- `Azure portalı
, Azure CLI veya Azure PowerShell ile hizmet ilkesi kullanarak bir Microsoft Entra uygulaması oluşturun.` - GitHub Actions iş akışınızda daha sonra kullanmak üzere İstemci Kimliği, Abonelik Kimliği ve Dizin (kiracı) kimliği değerlerini kopyalayın.
- Azure portalı, Azure CLI veya Azure PowerShell ile hizmet sorumlunuza uygun bir rol atayın.
- GitHub Actions tarafından verilen belirteçlere GitHub deponuzda güvenmek için bir Microsoft Entra uygulamasında federe kimlik bilgisi yapılandırın.
Seçenek 2: Kullanıcı tarafından atanan yönetilen kimlik
- Kullanıcı tarafından atanan bir yönetilen kimlik oluşturun.
- GitHub Actions iş akışınızda daha sonra kullanmak üzere İstemci Kimliği, Abonelik Kimliği ve Dizin (kiracı) kimliği değerlerini kopyalayın.
- Kullanıcı tarafından atanan yönetilen kimliğinize uygun bir rol atayın.
- GitHub Actions tarafından GitHub deponuza verilen belirteçlere güvenmek için kullanıcı tarafından atanan yönetilen kimlikte federasyon kimliği kimlik bilgilerini yapılandırın.
Gizli anahtarlar oluştur
Oturum açma eylemine uygulamanızın İstemci Kimliğini, Dizin (kiracı) Kimliğini ve Abonelik Kimliğini sağlamanız gerekir. Bu değerler doğrudan iş akışında sağlanabilir veya GitHub gizli dizilerinde depolanabilir ve iş akışınızda başvurulabilir. Değerleri GitHub gizli dizileri olarak kaydetmek daha güvenli bir seçenektir.
Seç Güvenlik Sırları ve değişkenler > Eylemler.
Yeni depo gizlisini seçin.
Not
Genel depolarda iş akışı güvenliğini geliştirmek için depo gizli dizileri yerine ortam gizli dizilerini kullanın. Ortam onay gerektiriyorsa, gerekli gözden geçirenlerden biri onaylayana kadar görev ortam sırlarına erişemez.
AZURE_CLIENT_ID,AZURE_TENANT_IDveAZURE_SUBSCRIPTION_IDiçin gizli diziler oluşturun. Bu değerleri GitHub gizli dizileriniz için Microsoft Entra uygulamanızdan veya kullanıcı tarafından atanan yönetilen kimlikten kopyalayın:GitHub gizli anahtar Microsoft Entra uygulaması veya kullanıcı tarafından atanan yönetilen kimlik AZURE_CLIENT_ID Müşteri Kimliği AZURE_ABONELİK_KİMLİĞİ Abonelik Kimliği AZURE_TENANT_ID Dizin (kiracı) kimliği Not
Güvenlik nedeniyle, değerleri doğrudan iş akışına geçirmek yerine GitHub Gizli Dizilerini kullanmanızı öneririz.
3. Adım: Azure Machine Learning çalışma alanınıza bağlanmak için güncelleştirme setup.sh
CLI kurulum dosyası değişkenlerini çalışma alanınızla eşleşecek şekilde güncelleştirin.
Çatallanmış deponuzda
azureml-examples/cli/'ye gidin.Dosyadaki bu değişkenleri düzenleyin
setup.shve güncelleştirin.Değişken Açıklama GROUPKaynak grubunun adı LOCATIONÇalışma alanınızın konumu (örnek: eastus2)WORKSPACEAzure Machine Learning çalışma alanının adı
4. Adım: İşlem kümenizin adıyla güncelleştirme pipeline.yml
Azure Machine Learning işlem hattınızı dağıtmak için bir pipeline.yml dosya kullanın. İşlem hattı, DevOps işlem hattı değil makine öğrenmesi işlem hattıdır. Bu güncellemeyi yalnızca işlem kümeniz için cpu-cluster dışında bir ad kullanıyorsanız yapmanız gerekir.
- Çatallanmış deponuzda
azureml-examples/cli/jobs/pipelines/nyc-taxi/pipeline.ymlkonumuna gidin. - öğesini her gördüğünüzde
compute: azureml:cpu-clusterdeğerinicpu-clusterişlem kümenizin adıyla güncelleştirin. Örneğin, kümenizin adımy-clusterise yeni değeriniz olacaktırazureml:my-cluster. Beş güncelleştirme vardır.
5. Adım: GitHub Actions iş akışınızı çalıştırma
İş akışınız Azure'da kimlik doğrulaması yapar, Azure Machine Learning CLI'sini ayarlar ve Azure Machine Learning'de bir modeli eğitmek için CLI'yi kullanır.
İş akışı dosyanız bir tetikleyici bölümünden ve işlerden oluşur:
- Tetikleyici,
onbölümünde iş akışını başlatır. İş akışı varsayılan olarak bir cron zamanlaması üzerinde ve eşleşen dallardan ve yollardan çekme isteği yapıldığında çalışır. İş akışlarını tetikleyen olaylar hakkında daha fazla bilgi edinin. - İş akışının görevler bölümünde kodu alır ve OpenID Connect kullanarak Azure giriş işlemiyle Azure'da oturum açarsınız.
- İşler bölümü, Machine Learning CLI'yi (v2) yükleyen ve ayarlayan bir kurulum eylemi de içerir. CLI yüklendikten sonra iş çalıştırma eylemi, NYC taksi verileriyle bir model eğitmek için Azure Machine Learning
pipeline.ymldosyanızı çalıştırır.
İş akışınızı etkinleştirme
Çatallanmış deponuzda
.github/workflows/cli-jobs-pipelines-nyc-taxi-pipeline.ymldosyasını açın ve iş akışınızın buna benzer olduğunu doğrulayın.Not
Depodaki iş akışı dosyası, burada gösterilmeyen ek adımları (önyükleme ve doğrulama gibi) içerebilir. Aşağıdaki örnekte temel adımlar gösterilmektedir.
name: cli-jobs-pipelines-nyc-taxi-pipeline on: workflow_dispatch: schedule: - cron: "0 0/4 * * *" pull_request: branches: - main paths: - cli/jobs/pipelines/nyc-taxi/** - .github/workflows/cli-jobs-pipelines-nyc-taxi-pipeline.yml - cli/run-pipeline-jobs.sh - cli/setup.sh permissions: id-token: write jobs: build: runs-on: ubuntu-latest steps: - name: check out repo uses: actions/checkout@v4 - name: azure login uses: azure/login@v2 with: client-id: ${{ secrets.AZURE_CLIENT_ID }} tenant-id: ${{ secrets.AZURE_TENANT_ID }} subscription-id: ${{ secrets.AZURE_SUBSCRIPTION_ID }} - name: setup run: bash setup.sh working-directory: cli continue-on-error: true - name: run job run: bash -x ../../../run-job.sh pipeline.yml working-directory: cli/jobs/pipelines/nyc-taxi`Çalıştırmaları Görüntüle'yi seçin.`
“İş akışlarımı anlıyorum” seçeneğini işaretleyerek iş akışlarını etkinleştirin.
cli-jobs-pipelines-nyc-taxi-pipeline iş akışını seçin ve İş akışını etkinleştir'i seçin.
İş akışını çalıştır'ı seçin ve İş akışını şimdi çalıştır seçeneğini belirleyin.
6. Adım: İş akışı çalıştırmanızı doğrulama
Tamamlanmış iş akışı çalıştırmanızı açın ve derleme işinin başarıyla çalıştırıldığını doğrulayın. İşin yanında yeşil bir onay işareti görürsünüz.
Azure Machine Learning studio'yu açın ve nyc-taxi-pipeline-example adresine gidin. İşinizin her bir bölümünün (hazırlık, dönüşüm, eğit, tahmin, puan) tamamlandığını ve yeşil bir onay işareti gördüğünüzü doğrulayın.
Kaynakları temizleme
Kaynak grubunuz ve deponuza artık ihtiyacınız kalmadığında, kaynak grubunu ve GitHub deponuzu silerek dağıttığınız kaynakları temizleyin.