Siapkan alokasi biaya tingkat perusahaan untuk lingkungan dan beban kerja ML menggunakan penandaan sumber daya di Amazon SageMaker PlatoBlockchain Data Intelligence. Pencarian Vertikal. Ai.

Siapkan alokasi biaya tingkat perusahaan untuk lingkungan dan beban kerja ML menggunakan penandaan sumber daya di Amazon SageMaker

Karena bisnis dan pemimpin TI ingin mempercepat adopsi pembelajaran mesin (ML), ada kebutuhan yang berkembang untuk memahami pengeluaran dan alokasi biaya untuk lingkungan ML Anda untuk memenuhi persyaratan perusahaan. Tanpa pengelolaan dan tata kelola biaya yang tepat, pembelanjaan ML Anda dapat menyebabkan kejutan dalam tagihan AWS bulanan Anda. Amazon SageMaker adalah platform ML yang dikelola sepenuhnya di cloud yang melengkapi pelanggan perusahaan kami dengan alat dan sumber daya untuk menetapkan ukuran alokasi biaya dan meningkatkan visibilitas ke dalam biaya dan penggunaan terperinci oleh tim, unit bisnis, produk, dan banyak lagi.

Dalam postingan ini, kami membagikan tips dan praktik terbaik terkait alokasi biaya untuk lingkungan dan beban kerja SageMaker Anda. Di hampir semua layanan AWS, termasuk SageMaker, menerapkan tag ke sumber daya adalah cara standar untuk melacak biaya. Tag ini dapat membantu Anda melacak, melaporkan, dan memantau pembelanjaan ML Anda melalui solusi siap pakai seperti Penjelajah Biaya AWS dan Anggaran AWS, serta solusi khusus yang dibangun berdasarkan data dari Laporan Biaya dan Penggunaan AWS (CUR).

Penandaan alokasi biaya

Alokasi biaya di AWS adalah proses tiga langkah:

  1. Melampirkan tag alokasi biaya ke sumber daya Anda.
  2. Aktifkan tag Anda di Tag alokasi biaya bagian dari konsol Penagihan AWS.
  3. Gunakan tag untuk melacak dan memfilter pelaporan alokasi biaya.

Setelah Anda membuat dan melampirkan tag ke sumber daya, tag tersebut akan muncul di konsol AWS Billing Tag alokasi biaya Bagian bawah Tag alokasi biaya yang ditentukan pengguna. Diperlukan waktu hingga 24 jam agar tag muncul setelah dibuat. Anda kemudian perlu mengaktifkan tag ini untuk AWS untuk mulai melacaknya untuk sumber daya Anda. Biasanya, setelah tag diaktifkan, diperlukan waktu sekitar 24-48 jam agar tag muncul di Cost Explorer. Cara termudah untuk memeriksa apakah tag Anda berfungsi adalah dengan mencari tag baru Anda di filter tag di Cost Explorer. Jika ada, maka Anda siap menggunakan tag untuk pelaporan alokasi biaya Anda. Anda kemudian dapat memilih untuk mengelompokkan hasil Anda menurut kunci tag atau memfilter menurut nilai tag, seperti yang ditunjukkan pada tangkapan layar berikut.

Siapkan alokasi biaya tingkat perusahaan untuk lingkungan dan beban kerja ML menggunakan penandaan sumber daya di Amazon SageMaker PlatoBlockchain Data Intelligence. Pencarian Vertikal. Ai.

Satu hal yang perlu diperhatikan: jika Anda menggunakan Organisasi AWS dan telah menautkan akun AWS, tag hanya dapat diaktifkan di akun pembayar utama. Secara opsional, Anda juga dapat mengaktifkan CUR untuk akun AWS yang mengaktifkan laporan alokasi biaya sebagai file CSV dengan penggunaan dan biaya yang dikelompokkan menurut tag aktif Anda. Ini memberi Anda pelacakan biaya yang lebih mendetail dan mempermudah penyiapan solusi pelaporan kustom Anda sendiri.

Menandai di SageMaker

Pada tingkat tinggi, penandaan sumber daya SageMaker dapat dikelompokkan ke dalam dua wadah:

  • Menandai lingkungan notebook SageMaker juga Studio Amazon SageMaker domain dan pengguna domain, atau instans notebook SageMaker
  • Memberi tag pada tugas yang dikelola SageMaker (pelabelan, pemrosesan, pelatihan, penyetelan hyperparameter, transformasi batch, dan lainnya) dan sumber daya (seperti model, tim kerja, konfigurasi titik akhir, dan titik akhir)

Kami membahasnya secara lebih rinci dalam posting ini dan memberikan beberapa solusi tentang cara menerapkan kontrol tata kelola untuk memastikan kebersihan penandaan yang baik.

Menandai domain dan pengguna SageMaker Studio

Studio adalah lingkungan pengembangan terintegrasi (IDE) berbasis web untuk ML yang memungkinkan Anda membuat, melatih, men-debug, menerapkan, dan memantau model ML Anda. Anda dapat meluncurkan notebook Studio dengan cepat, dan secara dinamis meningkatkan atau menurunkan sumber daya komputasi yang mendasarinya tanpa mengganggu pekerjaan Anda.

Untuk menandai sumber daya dinamis ini secara otomatis, Anda harus menetapkan tag ke domain SageMaker dan pengguna domain yang memiliki akses ke sumber daya tersebut. Anda dapat menentukan tag ini dalam parameter tag dari buat-domain or buat-profil-pengguna selama pembuatan profil atau domain, atau Anda dapat menambahkannya nanti menggunakan Tambahkan tanda API. Studio secara otomatis menyalin dan menetapkan tag ini ke buku catatan Studio yang dibuat di domain atau oleh pengguna tertentu. Anda juga dapat menambahkan tag ke domain SageMaker dengan mengedit pengaturan domain di Panel Kontrol Studio.

Berikut ini adalah contoh pemberian tag ke profil selama pembuatan.

aws sagemaker create-user-profile --domain-id  --user-profile-name data-scientist-full --tags Key=studiouserid,Value= --user-settings ExecutionRole=arn:aws:iam:::role/SageMakerStudioExecutionRole_datascientist-full

Untuk menandai domain dan pengguna yang ada, gunakan add-tags API. Tag kemudian diterapkan ke buku catatan baru. Agar tag ini diterapkan ke buku catatan Anda yang sudah ada, Anda perlu memulai ulang aplikasi Studio (Gerbang Kernel dan Server Jupyter) milik profil pengguna tersebut. Ini tidak akan menyebabkan hilangnya data buku catatan. Lihat ini Matikan dan Perbarui Aplikasi SageMaker Studio dan Studio untuk mempelajari cara menghapus dan memulai ulang aplikasi Studio Anda.

Siapkan alokasi biaya tingkat perusahaan untuk lingkungan dan beban kerja ML menggunakan penandaan sumber daya di Amazon SageMaker PlatoBlockchain Data Intelligence. Pencarian Vertikal. Ai.

Menandai instans notebook SageMaker

Dalam kasus instance notebook SageMaker, penandaan diterapkan ke instance itu sendiri. Tag ditetapkan ke semua sumber daya yang berjalan dalam instance yang sama. Anda dapat menentukan tag secara terprogram menggunakan parameter tag di buat-notebook-instance API atau tambahkan melalui konsol SageMaker selama pembuatan instance. Anda juga dapat menambahkan atau memperbarui tag kapan saja menggunakan Tambahkan tanda API atau melalui konsol SageMaker.

Perhatikan bahwa ini mengecualikan pekerjaan dan sumber daya terkelola SageMaker seperti pekerjaan pelatihan dan pemrosesan karena mereka berada di lingkungan layanan, bukan di instans. Di bagian berikutnya, kita membahas cara menerapkan penandaan ke sumber daya ini secara lebih mendetail.

Menandai pekerjaan dan sumber daya terkelola SageMaker

Untuk pekerjaan dan sumber daya yang dikelola SageMaker, penandaan harus diterapkan ke tags atribut sebagai bagian dari setiap permintaan API. Sebuah SKLearnProcessor contoh diilustrasikan dalam kode berikut. Anda dapat menemukan lebih banyak contoh tentang cara menetapkan tag ke pekerjaan dan sumber daya terkelola SageMaker lainnya di GitHub repo.

from sagemaker import get_execution_role
from sagemaker.sklearn.processing import SKLearnProcessor

processing_tags = [{' Key':"cost-center','Value':'TF2WorkflowProcessing'}]
sklearn_processorl = SKLearnProcessor(framework_version='0.23-1' ,
									 role=get_execution_role(),
									 instance_type='ml.m5.xlarge',
									 instance_count=2,
									 tags=processing_tags)

Menandai saluran pipa SageMaker

Dalam kasus pipeline SageMaker, Anda dapat menandai seluruh pipeline secara keseluruhan, bukan setiap langkah individual. Pipa SageMaker secara otomatis menyebarkan tag ke setiap langkah pipa. Anda masih memiliki opsi untuk menambahkan tag tambahan yang terpisah ke setiap langkah jika diperlukan. Di UI Studio, tag pipeline muncul di bagian metadata.

Siapkan alokasi biaya tingkat perusahaan untuk lingkungan dan beban kerja ML menggunakan penandaan sumber daya di Amazon SageMaker PlatoBlockchain Data Intelligence. Pencarian Vertikal. Ai.

Untuk menerapkan tag ke pipeline, gunakan SageMaker Python SDK:

pipeline_tags = [ {'Key': 'pipeline-type', 'Value': 'TF2WorkflowPipeline'}]
pipeline.upsert(role_arn=role, tags=pipeline_tags)
execution = pipeline.start()

Terapkan pemberian tag menggunakan kebijakan IAM

Meskipun pemberian tag adalah mekanisme yang efektif untuk menerapkan manajemen cloud dan strategi tata kelola, menerapkan perilaku pemberian tag yang tepat dapat menjadi tantangan jika Anda menyerahkannya kepada pengguna akhir. Bagaimana Anda mencegah pembuatan sumber daya ML jika tag tertentu tidak ada, bagaimana Anda memastikan tag yang tepat diterapkan, dan bagaimana Anda mencegah pengguna menghapus tag yang ada?

Anda dapat mencapai ini menggunakan Identitas AWS dan Manajemen Akses (IAM). Kode berikut adalah contoh kebijakan yang mencegah tindakan SageMaker seperti: CreateDomain or CreateNotebookInstance jika permintaan tidak berisi kunci lingkungan dan salah satu nilai daftar. Itu ForAllValues pengubah dengan aws:TagKeys kunci kondisi menunjukkan bahwa hanya kunci environment diperbolehkan dalam permintaan. Ini menghentikan pengguna untuk memasukkan kunci lain, seperti menggunakan secara tidak sengaja Environment alih-alih environment.

"sagemaker:CreateTrainingJob"
      ],
      "{
      "Sid": "SageMakerEnforceEnvtOnCreate",
      "Action": [
        "sagemaker:CreateDomain",
        "sagemaker:CreateEndpoint",
        "sagemaker:CreateNotebookInstance",
        Effect": "Allow",
      "Resource": "*",
  "Condition": {
            "StringEquals": {
                "aws:RequestTag/environment": [
                    "dev","staging","production"
                ]
            },
            "ForAllValues:StringEquals": {"aws:TagKeys": "environment"}
        }
      }

Kebijakan tag dan kebijakan kontrol layanan (SCP) juga dapat menjadi cara yang baik untuk menstandardisasi pembuatan dan pelabelan sumber daya ML Anda. Untuk informasi selengkapnya tentang cara menerapkan strategi penandaan yang memberlakukan dan memvalidasi penandaan di tingkat organisasi, lihat Seri Blog Alokasi Biaya #3: Menerapkan dan Memvalidasi Tag Sumber Daya AWS.

Pelaporan alokasi biaya

Anda dapat melihat tag dengan memfilter tampilan di Cost Explorer, melihat laporan alokasi biaya bulanan, atau dengan memeriksa CUR.

Memvisualisasikan tag di Cost Explorer

Cost Explorer adalah alat yang memungkinkan Anda untuk melihat dan menganalisis biaya dan penggunaan Anda. Anda dapat menjelajahi penggunaan dan biaya menggunakan grafik utama: laporan biaya dan penggunaan Penjelajah Biaya. Untuk video singkat tentang cara menggunakan Cost Explorer, lihat Bagaimana saya dapat menggunakan Penjelajah Biaya untuk menganalisis pengeluaran dan penggunaan saya?

Dengan Cost Explorer, Anda dapat memfilter cara Anda melihat biaya AWS menurut tag. Kelompok oleh memungkinkan kita untuk menyaring hasil dengan kunci tag seperti Environment, Deployment, atau Cost Center. Filter tag membantu kami memilih nilai yang kami inginkan terlepas dari kuncinya. Contohnya termasuk Production dan Staging. Ingatlah bahwa Anda harus menjalankan sumber daya setelah menambahkan dan mengaktifkan tag; jika tidak, Penjelajah Biaya tidak akan memiliki data penggunaan apa pun dan nilai tag tidak akan ditampilkan sebagai filter atau grup menurut opsi.

Siapkan alokasi biaya tingkat perusahaan untuk lingkungan dan beban kerja ML menggunakan penandaan sumber daya di Amazon SageMaker PlatoBlockchain Data Intelligence. Pencarian Vertikal. Ai.

Tangkapan layar berikut adalah contoh pemfilteran berdasarkan semua nilai dari BusinessUnit menandai.

Siapkan alokasi biaya tingkat perusahaan untuk lingkungan dan beban kerja ML menggunakan penandaan sumber daya di Amazon SageMaker PlatoBlockchain Data Intelligence. Pencarian Vertikal. Ai.

Memeriksa tag di CUR

Laporan Biaya dan Penggunaan berisi kumpulan data biaya dan penggunaan terlengkap yang tersedia. Laporan berisi item baris untuk setiap kombinasi unik produk AWS, jenis penggunaan, dan operasi yang digunakan akun AWS Anda. Anda dapat menyesuaikan CUR untuk mengumpulkan informasi baik per jam atau per hari. Laporan alokasi biaya bulanan adalah salah satu cara untuk menyiapkan pelaporan alokasi biaya. Anda dapat mengatur laporan alokasi biaya bulanan yang mencantumkan penggunaan AWS untuk akun Anda menurut kategori produk dan pengguna akun tertaut. Laporan berisi item baris yang sama dengan laporan penagihan terperinci dan kolom tambahan untuk kunci tag Anda. Anda dapat mengaturnya dan mengunduh laporan Anda dengan mengikuti langkah-langkah di Laporan alokasi biaya bulanan.

Tangkapan layar berikut menunjukkan bagaimana kunci tag yang ditentukan pengguna muncul di CUR. Kunci tag yang ditentukan pengguna memiliki awalan user, Seperti user:Department dan user:CostCenter. Kunci tag yang dihasilkan AWS memiliki awalan aws.

Siapkan alokasi biaya tingkat perusahaan untuk lingkungan dan beban kerja ML menggunakan penandaan sumber daya di Amazon SageMaker PlatoBlockchain Data Intelligence. Pencarian Vertikal. Ai.

Visualisasikan CUR menggunakan Amazon Athena dan Amazon QuickSight

Amazon Athena adalah layanan kueri interaktif yang memudahkan analisis data di Amazon S3 menggunakan SQL standar. Athena tidak memiliki server, jadi tidak ada infrastruktur untuk dikelola, dan Anda hanya membayar untuk kueri yang Anda jalankan. Untuk mengintegrasikan Athena dengan CUR, lihat Membuat Kueri Laporan Biaya dan Penggunaan menggunakan Amazon Athena. Anda kemudian dapat membuat kueri khusus untuk membuat kueri data CUR menggunakan SQL standar. Tangkapan layar berikut adalah contoh kueri untuk memfilter semua sumber daya yang memiliki nilai TF2WorkflowTraining untuk cost-center menandai.

select * from {$table_name} where resource_tags_user_cost-center= 'TF2WorkflowTraining'

Dalam contoh berikut, kami mencoba mencari tahu sumber daya mana yang tidak memiliki nilai di bawah cost-center menandai.

SELECT
 bill_payer_account_id, line_item_usage_account_id, DATE_FORMAT((line_item_usage_start_date), '%Y-%m-%d') AS day_line_item_usage_start_date, line_item_resource_id, line_item_usage_type, resource_tags_user_cost-center
FROM
{$table_name} 
WHERE
 resource_tags_user_cost-center IS NULL
AND line_item_product_code = 'AmazonSageMaker'

Informasi lebih lanjut dan contoh pertanyaan dapat ditemukan di Pustaka Kueri AWS CUR.

Anda juga dapat memasukkan data CUR ke Amazon QuickSight, di mana Anda dapat mengiris dan memotongnya dengan cara apa pun yang Anda inginkan untuk tujuan pelaporan atau visualisasi. Untuk instruksi tentang menelan data CUR ke QuickSight, lihat Bagaimana cara menyerap dan memvisualisasikan Laporan Biaya dan Penggunaan (CUR) AWS ke dalam Amazon QuickSight.

Pemantauan anggaran menggunakan tag

AWS Budgets adalah cara terbaik untuk memberikan peringatan dini jika pembelanjaan melonjak secara tidak terduga. Anda dapat membuat anggaran khusus yang mengingatkan Anda saat biaya dan penggunaan ML Anda melebihi (atau diperkirakan akan melebihi) ambang batas yang ditentukan pengguna Anda. Dengan AWS Budgets, Anda dapat memantau total biaya ML bulanan atau memfilter anggaran Anda untuk melacak biaya yang terkait dengan dimensi penggunaan tertentu. Misalnya, Anda dapat mengatur cakupan anggaran untuk menyertakan biaya sumber daya SageMaker yang ditandai sebagai cost-center: ML-Marketing, seperti yang ditunjukkan pada tangkapan layar berikut. Untuk dimensi tambahan dan instruksi mendetail tentang cara mengatur Anggaran AWS, lihat di sini.

Siapkan alokasi biaya tingkat perusahaan untuk lingkungan dan beban kerja ML menggunakan penandaan sumber daya di Amazon SageMaker PlatoBlockchain Data Intelligence. Pencarian Vertikal. Ai.

Dengan peringatan anggaran, Anda dapat mengirim pemberitahuan bila batas anggaran Anda (atau akan segera) terlampaui. Peringatan ini juga dapat diposting ke Layanan Pemberitahuan Sederhana Amazon (Amazon SNS) topik. Sebuah AWS Lambda fungsi yang berlangganan topik SNS kemudian dipanggil, dan tindakan apa pun yang dapat diterapkan secara terprogram dapat diambil.

Anggaran AWS juga memungkinkan Anda mengonfigurasi tindakan anggaran, yang merupakan langkah-langkah yang dapat Anda ambil saat ambang batas anggaran terlampaui (jumlah aktual atau perkiraan). Tingkat kontrol ini memungkinkan Anda mengurangi pengeluaran berlebihan yang tidak disengaja di akun Anda. Anda dapat mengonfigurasi respons spesifik terhadap biaya dan penggunaan di akun Anda yang akan diterapkan secara otomatis atau melalui proses persetujuan alur kerja saat target anggaran terlampaui. Ini adalah solusi yang sangat ampuh untuk memastikan bahwa pembelanjaan ML Anda konsisten dengan tujuan bisnis. Anda dapat memilih jenis tindakan yang akan dilakukan. Misalnya, ketika ambang batas anggaran terlampaui, Anda dapat memindahkan pengguna IAM tertentu dari izin admin ke hanya baca. Untuk pelanggan yang menggunakan Organisasi, Anda dapat menerapkan tindakan ke seluruh unit organisasi dengan memindahkannya dari admin ke hanya baca. Untuk detail lebih lanjut tentang cara mengelola biaya menggunakan tindakan anggaran, lihat Cara mengelola kelebihan biaya di lingkungan multi-akun AWS Anda โ€“ Bagian 1.

Anda juga dapat menyiapkan laporan untuk memantau kinerja anggaran yang ada pada irama harian, mingguan, atau bulanan dan mengirimkan laporan tersebut ke hingga 50 alamat email. Dengan Laporan Anggaran AWS, Anda dapat menggabungkan semua anggaran terkait SageMaker ke dalam satu laporan. Fitur ini memungkinkan Anda melacak jejak SageMaker Anda dari satu lokasi, seperti yang ditunjukkan pada tangkapan layar berikut. Anda dapat memilih untuk menerima laporan ini pada irama harian, mingguan, atau bulanan (saya telah memilih Mingguan untuk contoh ini), dan pilih hari dalam seminggu saat Anda ingin menerimanya.

Fitur ini berguna untuk membuat pemangku kepentingan Anda selalu mengetahui biaya dan penggunaan SageMaker Anda, dan membantu mereka melihat kapan pembelanjaan tidak menjadi tren seperti yang diharapkan.

Siapkan alokasi biaya tingkat perusahaan untuk lingkungan dan beban kerja ML menggunakan penandaan sumber daya di Amazon SageMaker PlatoBlockchain Data Intelligence. Pencarian Vertikal. Ai.

Setelah Anda mengatur konfigurasi ini, Anda akan menerima email yang mirip dengan berikut ini.

Siapkan alokasi biaya tingkat perusahaan untuk lingkungan dan beban kerja ML menggunakan penandaan sumber daya di Amazon SageMaker PlatoBlockchain Data Intelligence. Pencarian Vertikal. Ai.

Kesimpulan

Dalam posting ini, kami menunjukkan bagaimana Anda dapat mengatur pemberian tag alokasi biaya untuk SageMaker dan berbagi tips tentang praktik terbaik pemberian tag untuk lingkungan dan beban kerja SageMaker Anda. Kami kemudian membahas berbagai opsi pelaporan seperti Penjelajah Biaya dan CUR untuk membantu Anda meningkatkan visibilitas ke pembelanjaan ML Anda. Terakhir, kami mendemonstrasikan Anggaran AWS dan laporan ringkasan anggaran untuk membantu Anda memantau pembelanjaan ML organisasi Anda.

Untuk informasi lebih lanjut tentang menerapkan dan mengaktifkan tag alokasi biaya, lihat Tag Alokasi Biaya Buatan Pengguna.


Tentang penulis

Sean MorganSean Morgan adalah Arsitek Solusi AI/ML di AWS. Dia memiliki pengalaman di bidang penelitian semikonduktor dan akademik, dan menggunakan pengalamannya untuk membantu pelanggan mencapai tujuan mereka di AWS. Di waktu luangnya, Sean adalah kontributor dan pengelola open-source aktif, dan merupakan pemimpin kelompok minat khusus untuk Add-on TensorFlow.

Siapkan alokasi biaya tingkat perusahaan untuk lingkungan dan beban kerja ML menggunakan penandaan sumber daya di Amazon SageMaker PlatoBlockchain Data Intelligence. Pencarian Vertikal. Ai.Brent Rabowsky berfokus pada ilmu data di AWS, dan memanfaatkan keahliannya untuk membantu pelanggan AWS dengan proyek ilmu data mereka sendiri.

Siapkan alokasi biaya tingkat perusahaan untuk lingkungan dan beban kerja ML menggunakan penandaan sumber daya di Amazon SageMaker PlatoBlockchain Data Intelligence. Pencarian Vertikal. Ai.Nilesh Shetty adalah sebagai Senior Technical Account Manager di AWS, di mana dia membantu pelanggan dukungan perusahaan merampingkan operasi cloud mereka di AWS. Dia bersemangat tentang pembelajaran mesin dan memiliki pengalaman bekerja sebagai konsultan, arsitek, dan pengembang. Di luar pekerjaan, dia suka mendengarkan musik dan menonton olahraga.

Siapkan alokasi biaya tingkat perusahaan untuk lingkungan dan beban kerja ML menggunakan penandaan sumber daya di Amazon SageMaker PlatoBlockchain Data Intelligence. Pencarian Vertikal. Ai.James Wu adalah Arsitek Solusi Spesialis AI/ML Senior di AWS. membantu pelanggan merancang dan membangun solusi AI/ML. Pekerjaan James mencakup berbagai kasus penggunaan ML, dengan minat utama pada visi komputer, pembelajaran mendalam, dan penskalaan ML di seluruh perusahaan. Sebelum bergabung dengan AWS, James adalah seorang arsitek, pengembang, dan pemimpin teknologi selama lebih dari 10 tahun, termasuk 6 tahun di bidang teknik dan 4 tahun di industri pemasaran & periklanan.

Stempel Waktu:

Lebih dari Pembelajaran Mesin AWS