TFX Kullanım Kılavuzu

giriiş

TFX, TensorFlow'a dayalı, Google üretimi ölçekli bir makine öğrenimi (ML) platformudur. Makine öğrenimi sisteminizi tanımlamak, başlatmak ve izlemek için gereken ortak bileşenleri entegre etmek için bir yapılandırma çerçevesi ve paylaşılan kitaplıklar sağlar.

TFX 1.0

TFX 1.0.0'ın kullanıma sunulduğunu duyurmaktan mutluluk duyuyoruz. Bu, kararlı genel API'ler ve yapılar sağlayan TFX'in ilk beta sonrası sürümüdür. Bu RFC'de tanımlanan uyumluluk kapsamında bir yükseltmeden sonra gelecekteki TFX işlem hatlarının çalışmaya devam edeceğinden emin olabilirsiniz.

Kurulum

pitonPyPI

pip install tfx

Gecelik Paketler

TFX ayrıca Google Cloud'da https://pypi-nightly.tensorflow.org adresinde gece paketleri barındırır. En son gece paketini kurmak için lütfen aşağıdaki komutu kullanın:

pip install --extra-index-url https://pypi-nightly.tensorflow.org/simple --pre tfx

Bu, TensorFlow Model Analysis (TFMA), TensorFlow Data Validation (TFDV), TensorFlow Transform (TFT), TFX Basic Shared Libraries (TFX-BSL), ML Metadata (MLMD) gibi TFX'in başlıca bağımlılıkları için gecelik paketleri kuracaktır.

TFX Hakkında

TFX, bir üretim ortamında ML iş akışları oluşturmak ve yönetmek için bir platformdur. TFX aşağıdakileri sağlar:

  • ML işlem hatları oluşturmak için bir araç takımı. TFX işlem hatları, ML iş akışınızı Apache Airflow, Apache Beam ve Kubeflow Pipelines gibi çeşitli platformlarda düzenlemenize olanak tanır.

    TFX işlem hatları hakkında daha fazla bilgi edinin .

  • İşlem hattının veya makine öğrenimi eğitim komut dosyanızın bir parçası olarak kullanabileceğiniz bir dizi standart bileşen. TFX standart bileşenleri, bir makine öğrenimi sürecini kolayca oluşturmaya başlamanıza yardımcı olmak için kanıtlanmış işlevsellik sağlar.

    TFX standart bileşenleri hakkında daha fazla bilgi edinin .

  • Standart bileşenlerin çoğu için temel işlevsellik sağlayan kitaplıklar. Bu işlevi kendi özel bileşenlerinize eklemek için TFX kitaplıklarını kullanabilir veya bunları ayrı ayrı kullanabilirsiniz.

    TFX kitaplıkları hakkında daha fazla bilgi edinin .

TFX, TensorFlow'a dayalı, Google'ın üretim ölçeğinde bir makine öğrenimi araç takımıdır. Makine öğrenimi sisteminizi tanımlamak, başlatmak ve izlemek için gereken ortak bileşenleri entegre etmek için bir yapılandırma çerçevesi ve paylaşılan kitaplıklar sağlar.

TFX Standart Bileşenleri

TFX işlem hattı, özellikle ölçeklenebilir, yüksek performanslı makine öğrenimi görevleri için tasarlanmış bir ML işlem hattı uygulayan bir dizi bileşendir. Buna modelleme, eğitim, çıkarım sunma ve çevrimiçi, yerel mobil ve JavaScript hedeflerine dağıtımları yönetme dahildir.

Bir TFX işlem hattı tipik olarak aşağıdaki bileşenleri içerir:

  • ExampleGen , giriş veri kümesini alan ve isteğe bağlı olarak bölen bir işlem hattının ilk giriş bileşenidir.

  • İstatistiklerGen , veri kümesi için istatistikleri hesaplar.

  • SchemaGen istatistikleri inceler ve bir veri şeması oluşturur.

  • ExampleValidator , veri kümesindeki anormallikleri ve eksik değerleri arar.

  • Transform , veri kümesinde özellik mühendisliği gerçekleştirir.

  • Eğitmen modeli eğitir.

  • Ayarlayıcı , modelin hiper parametrelerini ayarlar.

  • Değerlendirici , eğitim sonuçlarının derinlemesine analizini gerçekleştirir ve dışa aktarılan modellerinizi doğrulamanıza yardımcı olarak, üretime gönderilmek için "yeterince iyi" olduklarından emin olur.

  • InfraValidator , modelin altyapıdan gerçekten sunulabilir olup olmadığını kontrol eder ve kötü modelin itilmesini önler.

  • Pusher , modeli hizmet veren bir altyapıya dağıtır.

  • BulkInferrer , etiketlenmemiş çıkarım istekleri olan bir modelde toplu işleme gerçekleştirir.

Bu diyagram, bu bileşenler arasındaki veri akışını göstermektedir:

Bileşen Akışı

TFX Kitaplıkları

TFX, hem kitaplıkları hem de işlem hattı bileşenlerini içerir. Bu diyagram, TFX kitaplıkları ve işlem hattı bileşenleri arasındaki ilişkileri gösterir:

Kitaplıklar ve Bileşenler

TFX, ardışık düzen bileşenleri oluşturmak için kullanılan kitaplıklar olan birkaç Python paketi sağlar. Kodunuzun işlem hattınızın benzersiz yönlerine odaklanabilmesi için işlem hatlarınızın bileşenlerini oluşturmak için bu kitaplıkları kullanacaksınız.

TFX kitaplıkları şunları içerir:

  • TensorFlow Data Validation (TFDV) , makine öğrenimi verilerini analiz etmek ve doğrulamak için bir kitaplıktır. Yüksek düzeyde ölçeklenebilir olacak ve TensorFlow ve TFX ile iyi çalışacak şekilde tasarlanmıştır. TFDV şunları içerir:

    • Eğitim ve test verilerinin özet istatistiklerinin ölçeklenebilir hesaplaması.
    • Veri dağılımları ve istatistikler için bir görüntüleyici ile entegrasyon ve ayrıca veri kümesi çiftlerinin (Yönler) yönlü karşılaştırması.
    • Gerekli değerler, aralıklar ve sözlükler gibi verilerle ilgili beklentileri tanımlamak için otomatik veri şeması oluşturma.
    • Şemayı incelemenize yardımcı olacak bir şema görüntüleyici.
    • Eksik özellikler, aralık dışı değerler veya yanlış özellik türleri gibi anormallikleri belirlemek için anormallik algılama.
    • Hangi özelliklerde anormallikler olduğunu görebilmeniz ve bunları düzeltmek için daha fazlasını öğrenebilmeniz için bir anormallik görüntüleyici.
  • TensorFlow Transform (TFT) , verileri TensorFlow ile ön işlemeye yönelik bir kitaplıktır. TensorFlow Dönüşümü, aşağıdakiler gibi tam geçiş gerektiren veriler için kullanışlıdır:

    • Bir giriş değerini ortalama ve standart sapma ile normalleştirin.
    • Tüm girdi değerleri üzerinde bir sözlük oluşturarak dizeleri tam sayılara dönüştürün.
    • Gözlenen veri dağılımına göre kovalara atayarak kayan noktaları tam sayılara dönüştürün.
  • TensorFlow , TFX ile eğitim modelleri için kullanılır. Eğitim verilerini ve modelleme kodunu alır ve bir SavedModel sonucu oluşturur. Ayrıca, giriş verilerinin ön işlenmesi için TensorFlow Transform tarafından oluşturulan bir özellik mühendisliği işlem hattını da entegre eder.

    KerasTuner , model için hiperparametreleri ayarlamak için kullanılır.

  • TensorFlow Model Analysis (TFMA) , TensorFlow modellerini değerlendirmek için bir kütüphanedir. Analizinin temeli olan bir EvalSavedModel oluşturmak için TensorFlow ile birlikte kullanılır. Kullanıcıların, eğitmenlerinde tanımlanan aynı metrikleri kullanarak, dağıtılmış bir şekilde büyük miktarda veri üzerinde modellerini değerlendirmelerine olanak tanır. Bu metrikler, farklı veri dilimleri üzerinden hesaplanabilir ve Jupyter not defterlerinde görselleştirilebilir.

  • TensorFlow Meta Verileri (TFMD) , makine öğrenimi modellerini TensorFlow ile eğitirken faydalı olan meta veriler için standart temsiller sağlar. Meta veriler, girdi verilerinin analizi sırasında elle veya otomatik olarak üretilebilir ve veri doğrulama, araştırma ve dönüştürme için kullanılabilir. Meta veri serileştirme biçimleri şunları içerir:

    • Tablo verilerini açıklayan bir şema (ör. tf.Örnekler).
    • Bu tür veri kümeleri üzerinde bir özet istatistikler koleksiyonu.
  • ML Meta Verileri (MLMD) , ML geliştiricisi ve veri bilimcisi iş akışlarıyla ilişkili meta verileri kaydetmek ve almak için bir kitaplıktır. Çoğu zaman meta veriler TFMD temsillerini kullanır. MLMD, SQL-Lite , MySQL ve diğer benzer veri depolarını kullanarak kalıcılığı yönetir.

Destekleyici Teknolojiler

Gerekli

  • Apache Beam , hem toplu hem de akış verisi paralel işleme ardışık düzenlerini tanımlamak için açık kaynaklı, birleşik bir modeldir. TFX, veri paralel işlem hatlarını uygulamak için Apache Beam'i kullanır. Ardından ardışık düzen, Apache Flink, Apache Spark, Google Cloud Dataflow ve diğerlerini içeren Beam'in desteklenen dağıtılmış işleme arka uçlarından biri tarafından yürütülür.

İsteğe bağlı

Apache Airflow ve Kubeflow gibi düzenleyiciler, bir ML işlem hattının yapılandırılmasını, çalıştırılmasını, izlenmesini ve bakımını kolaylaştırır.

  • Apache Airflow , iş akışlarını programlı olarak yazmak, planlamak ve izlemek için bir platformdur. TFX, iş akışlarını görevlerin yönlendirilmiş döngüsel olmayan grafikleri (DAG'ler) olarak yazmak için Airflow'u kullanır. Airflow planlayıcı, belirtilen bağımlılıkları takip ederken bir dizi çalışan üzerinde görevleri yürütür. Zengin komut satırı yardımcı programları, DAG'lerde karmaşık ameliyatlar gerçekleştirmeyi çok kolaylaştırır. Zengin kullanıcı arabirimi, üretimde çalışan işlem hatlarını görselleştirmeyi, ilerlemeyi izlemeyi ve gerektiğinde sorunları gidermeyi kolaylaştırır. İş akışları kod olarak tanımlandığında, daha sürdürülebilir, sürümlenebilir, test edilebilir ve işbirlikçi hale gelirler.

  • Kubeflow , Kubernetes'te makine öğrenimi (ML) iş akışlarının dağıtımını basit, taşınabilir ve ölçeklenebilir hale getirmeye kendini adamıştır. Kubeflow'un amacı, diğer hizmetleri yeniden oluşturmak değil, ML için türünün en iyisi açık kaynak sistemlerini çeşitli altyapılara dağıtmanın basit bir yolunu sağlamaktır. Kubeflow Pipelines , deney ve dizüstü bilgisayar tabanlı deneyimlerle entegre olarak Kubeflow'ta yeniden üretilebilir iş akışlarının oluşturulmasını ve yürütülmesini sağlar. Kubernetes'teki Kubeflow Pipelines hizmetleri, barındırılan Meta Veri deposunu, kapsayıcı tabanlı düzenleme motorunu, not defteri sunucusunu ve kullanıcıların karmaşık ML işlem hatlarını geniş ölçekte geliştirmesine, çalıştırmasına ve yönetmesine yardımcı olmak için kullanıcı arabirimini içerir. Kubeflow Pipelines SDK, bileşenlerin oluşturulmasına ve paylaşılmasına ve işlem hatlarının programlı olarak oluşturulmasına olanak tanır.

Taşınabilirlik ve Birlikte Çalışabilirlik

TFX, Apache Airflow , Apache Beam ve Kubeflow dahil olmak üzere birden çok ortama ve düzenleme çerçevesine taşınabilir olacak şekilde tasarlanmıştır. Ayrıca, şirket içi dahil olmak üzere farklı bilgi işlem platformlarına ve Google Cloud Platform (GCP) gibi bulut platformlarına taşınabilir. TFX, özellikle, Eğitim ve Tahmin için Cloud AI Platformu ve ML yaşam döngüsünün diğer birçok yönü için dağıtılmış veri işleme için Cloud Dataflow gibi sunucu tabanlı yönetilen GCP hizmetleriyle birlikte çalışır.

Model ve Kaydedilmiş Model

modeli

Model, eğitim sürecinin çıktısıdır. Eğitim sürecinde öğrenilen ağırlıkların serileştirilmiş kaydıdır. Bu ağırlıklar daha sonra yeni girdi örnekleri için tahminleri hesaplamak için kullanılabilir. TFX ve TensorFlow için 'model', o noktaya kadar öğrenilen ağırlıkları içeren kontrol noktalarını ifade eder.

'Model'in, bir tahminin nasıl hesaplanacağını ifade eden TensorFlow hesaplama grafiğinin (yani bir Python dosyası) tanımına da atıfta bulunabileceğini unutmayın. İki duyu, bağlama dayalı olarak birbirinin yerine kullanılabilir.

Kayıtlı Model

  • SavedModel nedir : TensorFlow modelinin evrensel, dilden bağımsız, hermetik, kurtarılabilir bir serileştirmesi.
  • Neden önemlidir : Üst düzey sistemlerin tek bir soyutlama kullanarak TensorFlow modellerini üretmesini, dönüştürmesini ve tüketmesini sağlar.

SavedModel, üretimde bir TensorFlow modeli sunmak veya yerel bir mobil veya JavaScript uygulaması için eğitilmiş bir modeli dışa aktarmak için önerilen serileştirme biçimidir. Örneğin, bir modeli tahminler yapmak için REST hizmetine dönüştürmek için modeli SavedModel olarak seri hale getirebilir ve TensorFlow Serving'i kullanarak sunabilirsiniz. Daha fazla bilgi için TensorFlow Modeline Hizmet Verme konusuna bakın.

Şema

Bazı TFX bileşenleri, giriş verilerinizin şema adı verilen bir tanımını kullanır. Şema, schema.proto örneğinin bir örneğidir. Şemalar, daha genel olarak "protobuf" olarak bilinen bir tür protokol arabelleğidir . Şema, bir özelliğin tüm örneklerde, izin verilen değer aralıklarında ve diğer özelliklerde bulunması gerekip gerekmediğine bakılmaksızın, özellik değerleri için veri türlerini belirleyebilir. TensorFlow Veri Doğrulaması (TFDV) kullanmanın faydalarından biri, eğitim verilerinden türler, kategoriler ve aralıklar çıkararak otomatik olarak bir şema oluşturmasıdır.

İşte bir şema protobuf'tan bir alıntı:

...
feature {
  name: "age"
  value_count {
    min: 1
    max: 1
  }
  type: FLOAT
  presence {
    min_fraction: 1
    min_count: 1
  }
}
feature {
  name: "capital-gain"
  value_count {
    min: 1
    max: 1
  }
  type: FLOAT
  presence {
    min_fraction: 1
    min_count: 1
  }
}
...

Aşağıdaki bileşenler şemayı kullanır:

  • TensorFlow Veri Doğrulaması
  • TensorFlow Dönüşümü

Tipik bir TFX ardışık düzeninde TensorFlow Veri Doğrulama, diğer bileşenler tarafından tüketilen bir şema oluşturur.

TFX ile Geliştirme

TFX, yerel makinenizde araştırma, deneme ve geliştirmeden dağıtıma kadar bir makine öğrenimi projesinin her aşaması için güçlü bir platform sağlar. Kod tekrarını önlemek ve eğitim/hizmet eğriliği potansiyelini ortadan kaldırmak için, hem model eğitimi hem de eğitimli modellerin dağıtımı için TFX ardışık düzeninizi uygulamanız ve hem eğitim hem de çıkarım için TensorFlow Transform kitaplığından yararlanan Transform bileşenlerini kullanmanız şiddetle önerilir. Bunu yaparak, aynı ön işleme ve analiz kodunu tutarlı bir şekilde kullanacak ve eğitim için kullanılan veriler ile üretimde eğitilmiş modellerinize beslenen veriler arasındaki farklardan kaçınacak ve aynı zamanda bu kodu bir kez yazmanın avantajından yararlanacaksınız.

Veri Keşfi, Görselleştirme ve Temizleme

Veri Keşfi, Görselleştirme ve Temizleme

TFX ardışık düzenleri tipik olarak, girdi verilerini kabul eden ve onu tf.Örnekler olarak biçimlendiren bir ExampleGen bileşeniyle başlar. Genellikle bu, veriler eğitim ve değerlendirme veri kümelerine bölündükten sonra yapılır, böylece her biri eğitim ve değerlendirme için birer tane olmak üzere ExampleGen bileşenlerinin iki kopyası olur. Bunu tipik olarak, verilerinizi inceleyecek ve bir veri şeması ve istatistik çıkarımı yapacak olan bir StatisticsGen bileşeni ve bir SchemaGen bileşeni izler. Şema ve istatistikler, verilerinizdeki anormallikleri, eksik değerleri ve yanlış veri türlerini arayan bir ExampleValidator bileşeni tarafından tüketilecektir. Bu bileşenlerin tümü, TensorFlow Veri Doğrulama kitaplığının özelliklerinden yararlanır.

TensorFlow Veri Doğrulaması (TFDV) , veri kümenizin ilk keşfini, görselleştirilmesini ve temizlenmesini yaparken değerli bir araçtır. TFDV verilerinizi inceler ve veri türleri, kategorileri ve aralıkları hakkında çıkarımlar yapar ve ardından anormallikleri ve eksik değerleri otomatik olarak belirlemeye yardımcı olur. Ayrıca, veri kümenizi incelemenize ve anlamanıza yardımcı olabilecek görselleştirme araçları sağlar. İşlem hattınız tamamlandıktan sonra, MLMD'den meta verileri okuyabilir ve verilerinizi analiz etmek için bir Jupyter not defterinde TFDV'nin görselleştirme araçlarını kullanabilirsiniz.

İlk model eğitiminizi ve dağıtımınızı takiben, TFDV, çıkarım taleplerinden dağıtılan modellerinize gelen yeni verileri izlemek ve anormallikleri ve/veya sapmaları aramak için kullanılabilir. Bu, özellikle trend veya mevsimselliğin bir sonucu olarak zaman içinde değişen zaman serisi verileri için kullanışlıdır ve veri sorunları olduğunda veya modellerin yeni veriler üzerinde ne zaman yeniden eğitilmesi gerektiğine dair bilgi vermeye yardımcı olabilir.

Veri goruntuleme

İşlem hattınızın TFDV (tipik olarak StatisticsGen, SchemaGen ve ExampleValidator) kullanan bölümündeki verilerinizi ilk çalıştırmanızı tamamladıktan sonra, sonuçları Jupyter stili bir not defterinde görselleştirebilirsiniz. Ek çalıştırmalar için, verileriniz modeliniz ve uygulamanız için en uygun olana kadar ayarlamalar yaparken bu sonuçları karşılaştırabilirsiniz.

Bu bileşenlerin bu yürütmelerinin sonuçlarını bulmak için önce ML Meta Verilerini (MLMD) sorgulayacak ve ardından not defterinizde görselleştirmeler oluşturmak için TFDV'deki görselleştirme desteği API'sini kullanacaksınız. Buna tfdv.load_statistics() ve tfdv.visualize_statistics() dahildir. Bu görselleştirmeyi kullanarak veri kümenizin özelliklerini daha iyi anlayabilir ve gerekirse gerektiği gibi değiştirebilirsiniz.

Model Geliştirme ve Eğitim

Özellik Mühendisliği

Tipik bir TFX işlem hattı, TensorFlow Transform (TFT) kitaplığının özelliklerinden yararlanarak özellik mühendisliği gerçekleştirecek bir Dönüştürme bileşeni içerecektir. Bir Transform bileşeni, bir SchemaGen bileşeni tarafından oluşturulan şemayı tüketir ve modelinizi eğitmek için kullanılacak özellikleri oluşturmak, birleştirmek ve dönüştürmek için veri dönüşümleri uygular. Eksik değerlerin temizlenmesi ve türlerin dönüştürülmesi, bunların çıkarım istekleri için gönderilen verilerde de bulunma olasılığı varsa, Dönüştür bileşeninde de yapılmalıdır. TFX'te eğitim için TensorFlow kodu tasarlarken bazı önemli hususlar vardır .

Modelleme ve Eğitim

Transform bileşeninin sonucu, bir Trainer bileşeni sırasında içe aktarılacak ve TensorFlow'daki modelleme kodunuzda kullanılacak bir SavedModel'dir. Bu SavedModel, Transform bileşeninde oluşturulan tüm veri mühendisliği dönüşümlerini içerir, böylece aynı dönüşümler hem eğitim hem de çıkarım sırasında tam olarak aynı kod kullanılarak gerçekleştirilir. Transform bileşeninden SavedModel dahil modelleme kodunu kullanarak eğitim ve değerlendirme verilerinizi tüketebilir ve modelinizi eğitebilirsiniz.

Tahminci tabanlı modellerle çalışırken, modelleme kodunuzun son bölümü modelinizi hem SavedModel hem de EvalSavedModel olarak kaydetmelidir. EvalSavedModel olarak kaydetme, eğitim zamanında kullanılan metriklerin değerlendirme sırasında da kullanılabilir olmasını sağlar (bunun keras tabanlı modeller için gerekli olmadığını unutmayın). Bir EvalSavedModel kaydetmek, Trainer bileşeninizde TensorFlow Model Analizi (TFMA) kitaplığını içe aktarmanızı gerektirir.

import tensorflow_model_analysis as tfma
...

tfma.export.export_eval_savedmodel(
        estimator=estimator,
        export_dir_base=eval_model_dir,
        eval_input_receiver_fn=receiver_fn)

Model için hiperparametreleri (örneğin, katman sayısı) ayarlamak için Trainer'dan önce isteğe bağlı bir Tuner bileşeni eklenebilir. Verilen model ve hiperparametrelerin arama alanı ile ayar algoritması, amaca dayalı olarak en iyi hiperparametreleri bulacaktır.

Model Performansını Analiz Etme ve Anlama

Model Analizi

İlk model geliştirme ve eğitimin ardından, modelinizin performansını analiz etmek ve gerçekten anlamak önemlidir. Tipik bir TFX işlem hattı, bu geliştirme aşaması için bir güç araç seti sağlayan TensorFlow Model Analizi (TFMA) kitaplığının yeteneklerinden yararlanan bir Değerlendirici bileşeni içerecektir. Bir Evaluator bileşeni, yukarıda dışa aktardığınız modeli tüketir ve modelinizin performansını görselleştirirken ve analiz ederken kullanabileceğiniz bir tfma.SlicingSpec listesi belirtmenize olanak tanır. Her SlicingSpec , kategorik özellikler için belirli kategoriler veya sayısal özellikler için belirli aralıklar gibi incelemek istediğiniz eğitim verilerinizin bir dilimini tanımlar.

Örneğin, bu, modelinizin, yıllık satın alma işlemlerine, coğrafi verilere, yaş grubuna veya cinsiyete göre segmentlere ayrılabilen müşterilerinizin farklı segmentleri için performansını anlamaya çalışmak için önemli olacaktır. Bu, baskın bir grubun performansının önemli, ancak daha küçük gruplar için kabul edilemez performansı maskeleyebileceği uzun kuyruklu veri kümeleri için özellikle önemli olabilir. Örneğin, modeliniz ortalama çalışanlar için iyi performans gösterebilir, ancak yönetici personel için sefil bir şekilde başarısız olabilir ve bunu bilmeniz sizin için önemli olabilir.

Model Analizi ve Görselleştirme

Modelinizi eğiterek ve eğitim sonuçlarında ( TFMA'dan yararlanan) Evaluator bileşenini çalıştırarak verilerinizin ilk çalıştırmasını tamamladıktan sonra, sonuçları Jupyter stili bir not defterinde görselleştirebilirsiniz. Ek çalıştırmalar için, sonuçlarınız modeliniz ve uygulamanız için en uygun olana kadar ayarlamalar yaparken bu sonuçları karşılaştırabilirsiniz.

Bu bileşenlerin bu yürütmelerinin sonuçlarını bulmak için önce ML Meta Verilerini (MLMD) sorgulayacak ve ardından not defterinizde görselleştirmeler oluşturmak için TFMA'daki görselleştirme desteği API'sini kullanacaksınız. Buna tfma.load_eval_results ve tfma.view.render_slicing_metrics dahildir. Bu görselleştirmeyi kullanarak modelinizin özelliklerini daha iyi anlayabilir ve gerekirse gerektiği gibi değiştirebilirsiniz.

Model Performansını Doğrulama

Bir modelin performansını analiz etmenin bir parçası olarak, performansı bir temele (şu anda sunulan model gibi) göre doğrulamak isteyebilirsiniz. Model doğrulama, Değerlendirici bileşenine hem aday hem de temel model geçirilerek gerçekleştirilir. Değerlendirici, karşılık gelen bir diff metrik seti ile birlikte hem aday hem de temel için metrikleri (örneğin AUC, kayıp) hesaplar. Eşikler daha sonra uygulanabilir ve modellerinizi üretime itmek için kullanılabilir.

Bir Modelin Sunulabileceğini Doğrulama

Kızılötesi Doğrulama

Eğitilen modeli dağıtmadan önce, modelin hizmet veren altyapıda gerçekten sunulabilir olup olmadığını doğrulamak isteyebilirsiniz. Bu, yeni yayınlanan modelin sistemin tahmin sunmasını engellemediğinden emin olmak için üretim ortamlarında özellikle önemlidir. InfraValidator bileşeni, modelinizin korumalı bir ortamda bir kanarya dağıtımını yapar ve isteğe bağlı olarak modelinizin doğru çalışıp çalışmadığını kontrol etmek için gerçek istekler gönderir.

Dağıtım Hedefleri

Memnun olduğunuz bir model geliştirip eğittikten sonra, şimdi onu çıkarım isteklerini alacağı bir veya daha fazla dağıtım hedefine dağıtmanın zamanı geldi. TFX, üç dağıtım hedefi sınıfına dağıtımı destekler. SavedModels olarak dışa aktarılan eğitilmiş modeller, bu dağıtım hedeflerinin herhangi birine veya tümüne dağıtılabilir.

Bileşen Akışı

Çıkarım: TensorFlow Sunumu

TensorFlow Hizmet Verme (TFS) , üretim ortamları için tasarlanmış, makine öğrenimi modelleri için esnek, yüksek performanslı bir hizmet sistemidir. Bir SavedModel kullanır ve REST veya gRPC arabirimleri üzerinden çıkarım isteklerini kabul eder. Senkronizasyon ve dağıtılmış hesaplamayı işlemek için birkaç gelişmiş mimariden birini kullanarak bir veya daha fazla ağ sunucusunda bir dizi işlem olarak çalışır. TFS çözümlerini geliştirme ve dağıtma hakkında daha fazla bilgi için TFS belgelerine bakın.

Tipik bir ardışık düzende, bir Trainer bileşeninde eğitilmiş bir SavedModel, önce bir InfraValidator bileşeninde alt-doğrulanır. InfraValidator, SavedModel'e gerçekten hizmet etmek için bir kanarya TFS model sunucusunu başlatır. Doğrulama geçtiyse, bir Pusher bileşeni sonunda SavedModel'i TFS altyapınıza dağıtacaktır. Bu, birden çok sürümün ve model güncellemelerinin ele alınmasını içerir.

Yerel Mobil ve IoT Uygulamalarında Çıkarım: TensorFlow Lite

TensorFlow Lite , geliştiricilerin eğitimli TensorFlow Modellerini yerel mobil ve IoT uygulamalarında kullanmalarına yardımcı olmaya adanmış bir araçlar paketidir. TensorFlow Serving ile aynı SavedModel'leri kullanır ve mobil ve IoT cihazlarda çalıştırmanın zorlukları için ortaya çıkan modellerin boyutunu ve performansını optimize etmek için niceleme ve budama gibi optimizasyonlar uygular. TensorFlow Lite'ı kullanma hakkında daha fazla bilgi için TensorFlow Lite belgelerine bakın.

JavaScript'te Çıkarım: TensorFlow JS

TensorFlow JS , makine öğrenimi modellerini tarayıcıda ve Node.js'de eğitmek ve dağıtmak için bir JavaScript kitaplığıdır. TensorFlow Serving ve TensorFlow Lite ile aynı SavedModel'leri kullanır ve bunları TensorFlow.js Web formatına dönüştürür. TensorFlow JS'yi kullanma hakkında daha fazla ayrıntı için TensorFlow JS belgelerine bakın.

Hava Akışı ile TFX İşlem Hattı Oluşturma

Ayrıntılar için hava akışı atölyesini kontrol edin

Kubeflow ile TFX İşlem Hattı Oluşturma

Kurmak

Kubeflow, işlem hatlarını geniş ölçekte çalıştırmak için bir Kubernetes kümesi gerektirir. Kubeflow kümesini dağıtmak için seçenekler arasında yol gösteren Kubeflow dağıtım kılavuzuna bakın.

TFX ardışık düzenini yapılandırın ve çalıştırın

Kubeflow'ta TFX örnek ardışık düzenini çalıştırmak için lütfen Cloud AI Platform Pipeline'da TFX eğiticisini izleyin. TFX bileşenleri, Kubeflow ardışık düzenini oluşturmak için kapsayıcılaştırılmıştır ve örnek, ardışık düzeni büyük genel veri kümesini okuyacak ve bulutta geniş ölçekte eğitim ve veri işleme adımlarını yürütecek şekilde yapılandırma yeteneğini göstermektedir.

İşlem hattı eylemleri için komut satırı arabirimi

TFX, Apache Airflow, Apache Beam ve Kubeflow dahil olmak üzere çeşitli düzenleyicilerde ardışık düzen oluşturma, güncelleme, çalıştırma, listeleme ve silme gibi tüm işlem hattı eylemlerinin gerçekleştirilmesine yardımcı olan birleşik bir CLI sağlar. Ayrıntılar için lütfen bu talimatları izleyin.