RM新时代网站-首页

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

機(jī)器學(xué)習(xí)構(gòu)建ML模型實(shí)踐

jf_pJlTbmA9 ? 來源:NVIDIA ? 作者:NVIDIA ? 2023-07-05 16:30 ? 次閱讀

本系列介紹 開發(fā)和部署 ( M L ) 模型。在這篇文章中,您 訓(xùn)練并保存 ML 模型,因此它可以作為 ML 系統(tǒng)的一部分部署。 第 1 部分給出了一個(gè) ML 工作流概括 ,考慮了使用機(jī)器學(xué)習(xí)和數(shù)據(jù)科學(xué)實(shí)現(xiàn)商業(yè)價(jià)值所涉及的各個(gè)階段。第 3 部分介紹 如何部署 ML 模型到 Google 云平臺(tái)( GCP )。

培訓(xùn)一個(gè)可以作為機(jī)器學(xué)習(xí)系統(tǒng)一部分的模型需要了解您的數(shù)據(jù)、業(yè)務(wù)目標(biāo)以及許多其他技術(shù)和組織要求。

在本文中,您創(chuàng)建了一個(gè) Python 腳本,當(dāng)執(zhí)行該腳本時(shí),它訓(xùn)練一個(gè) ML 模型,然后將其保存以供將來使用。

首先,我強(qiáng)調(diào)了為應(yīng)用程序訓(xùn)練 ML 模型時(shí)的一些重要考慮事項(xiàng)。

培訓(xùn)模型前的注意事項(xiàng)

從模型選擇到數(shù)據(jù)集的復(fù)雜性和大小,數(shù)據(jù)從業(yè)者必須戰(zhàn)略性地規(guī)劃資源和期望的需求。在培訓(xùn)模型之前要考慮的因素包括:

型號(hào)的選擇

解釋能力

模型超參數(shù)

硬件的選擇

數(shù)據(jù)大小

型號(hào)的選擇

您可以使用許多類 ML 模型來解決問題。您選擇的模型取決于您的用例和可能的約束。

解釋能力

如果要將您的模型部署為在受監(jiān)管行業(yè)(如金融或醫(yī)療保?。┲羞\(yùn)行的系統(tǒng)的一部分,則您的模型可能是 explainable 。這意味著,對(duì)于模型做出的任何預(yù)測(cè),都可以說明模型做出該決定的原因。

在這種情況下,您可能希望使用易于解釋的 linear regression 或 logistic regression 等模型。

模型超參數(shù)

模型具有可調(diào)超參數(shù)。了解這些超參數(shù)對(duì)應(yīng)于什么以及它們?nèi)绾斡绊懩P头浅V匾?/p>

根據(jù)超參數(shù)的選擇,模型的性能可能會(huì)發(fā)生很大變化。

硬件的選擇

大多數(shù)數(shù)據(jù)從業(yè)者都知道,模型訓(xùn)練通??梢栽?GPU 上加速。但即使在您進(jìn)入模型訓(xùn)練階段之前, GPU 也可以極大地幫助您的數(shù)據(jù)科學(xué)工作流。

從預(yù)處理管道到數(shù)據(jù)探索和可視化,一切都可以加快。這有助于您更快地迭代并嘗試更昂貴的計(jì)算技術(shù)。

數(shù)據(jù)大小

當(dāng)處理比一個(gè)內(nèi)核或機(jī)器上的內(nèi)存更大的數(shù)據(jù)時(shí),重要的是要考慮充分利用所有數(shù)據(jù)的技術(shù)。

也許使用 RAPID 等工具轉(zhuǎn)移到 GPU 來加速 pandas 和 scikit-learn 風(fēng)格的工作流是有意義的。或者你可能想研究一個(gè)擴(kuò)展框架,比如 Dask ,它可以擴(kuò)展模型訓(xùn)練和數(shù)據(jù)處理,無論你是在 CPU 還是 GPU 上工作。

了解數(shù)據(jù)集

在本文中,您在一個(gè)經(jīng)典數(shù)據(jù)集上訓(xùn)練一個(gè)模型: UCI Machine Learning Repository 中的 Iris Dataset 。這個(gè)數(shù)據(jù)集包含 150 朵鳶尾花的花瓣長(zhǎng)度和寬度以及萼片長(zhǎng)度和寬度的記錄。每個(gè)虹膜屬于三種類型之一: setosa 、 virginica 或 versicolor 。

你使用這些數(shù)據(jù)來訓(xùn)練分類模型,目的是根據(jù)花瓣和萼片的尺寸來預(yù)測(cè)虹膜的類型。

CPU 培訓(xùn)

在部署 ML 模型之前,必須首先構(gòu)建一個(gè) ML 模型。首先下載流行的 Iris Dataset 。本示例假設(shè)虹膜數(shù)據(jù)集已下載并保存為當(dāng)前工作目錄中的iris.data。

要訓(xùn)練邏輯回歸模型,請(qǐng)執(zhí)行以下步驟:

閱讀培訓(xùn)數(shù)據(jù)。

將訓(xùn)練數(shù)據(jù)拆分為要素和標(biāo)簽。

將數(shù)據(jù)分成訓(xùn)練和測(cè)試集( 75% 是訓(xùn)練數(shù)據(jù), 25% 是測(cè)試數(shù)據(jù))。

訓(xùn)練 Logistic Regression 模型。

堅(jiān)持訓(xùn)練后的模型。

import joblib
import pandas as pd
from sklearn.linear_model import LogisticRegression
from sklearn.model_selection import train_test_split

def run_training():
    """
    Train the model
    """
    # Read the training data
    dataset = pd.read_csv(
        filepath_or_buffer="iris.data",
        names=["sepal_length_cm", "sepal_width_cm", "petal_length_cm", "petal_width_cm", "class"]
        )

    # Split into labels and targets
    X = dataset.drop("class", axis=1).copy()
    y = dataset["class"].copy()

    # Create train and test set
    X_train, X_test, y_train, y_test = train_test_split(
        X, y, test_size=0.25, random_state=26)

    # Training the model
    model = LogisticRegression(random_state=26)
    model.fit(X_train, y_train)

    # Persist the trained model
    joblib.dump(model, "logistic_regression_v1.pkl")

if __name__ == "__main__":
    run_training()

train_test_split和LogisticRegression調(diào)用中的random_state參數(shù)有助于確保該腳本每次運(yùn)行時(shí)都產(chǎn)生相同的結(jié)果。

運(yùn)行腳本會(huì)生成一個(gè)保存在文件logistic_regression_v1.pkl中的模型,您可以使用該模型根據(jù)花瓣和萼片的尺寸對(duì)其他虹膜進(jìn)行分類。

GPU 加速模型訓(xùn)練

在本例中,您使用的是一個(gè)小數(shù)據(jù)集,僅包含 150 行數(shù)據(jù)。由于數(shù)據(jù)的簡(jiǎn)單性,該模型在 CPU 上幾秒鐘就能訓(xùn)練。

然而,在處理真實(shí)世界數(shù)據(jù)集時(shí),模型訓(xùn)練成為瓶頸并不罕見。在這種情況下,通??梢酝ㄟ^使用 GPU 而不是 CPU 來加快工作流的模型訓(xùn)練階段。

例如, RAPIDS 提供了一套開源軟件工具,使數(shù)據(jù)科學(xué)家和工程師能夠在 GPU 上快速運(yùn)行工作負(fù)載和數(shù)據(jù)科學(xué)管道。通過模仿常見數(shù)據(jù)科學(xué)庫(kù)(如pandas和scikit-learn)的 API ,您可以通過少量代碼更改來加快機(jī)器學(xué)習(xí)模型訓(xùn)練(以及探索性數(shù)據(jù)科學(xué))。

接下來是什么?

現(xiàn)在您已經(jīng)有了一個(gè)經(jīng)過培訓(xùn)的模型,可以考慮將其部署到生產(chǎn)環(huán)境中。在下一篇文章 Machine Learning in Practice: Deploy an ML Model on Google Cloud Platform 中,您將學(xué)習(xí)在 GCP 上部署模型的三種方法。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • NVIDIA
    +關(guān)注

    關(guān)注

    14

    文章

    4978

    瀏覽量

    102987
  • AI
    AI
    +關(guān)注

    關(guān)注

    87

    文章

    30728

    瀏覽量

    268886
  • 機(jī)器學(xué)習(xí)

    關(guān)注

    66

    文章

    8406

    瀏覽量

    132560
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    如何使用TensorFlow構(gòu)建機(jī)器學(xué)習(xí)模型

    在這篇文章中,我將逐步講解如何使用 TensorFlow 創(chuàng)建一個(gè)簡(jiǎn)單的機(jī)器學(xué)習(xí)模型
    的頭像 發(fā)表于 01-08 09:25 ?967次閱讀
    如何使用TensorFlow<b class='flag-5'>構(gòu)建</b><b class='flag-5'>機(jī)器</b><b class='flag-5'>學(xué)習(xí)</b><b class='flag-5'>模型</b>

    機(jī)器學(xué)習(xí)實(shí)踐指南——案例應(yīng)用解析

    機(jī)器學(xué)習(xí)實(shí)踐指南——案例應(yīng)用解析
    發(fā)表于 04-13 16:40

    eIQ軟件對(duì)ML模型有何作用

    隨著產(chǎn)品越來越復(fù)雜,具有了更強(qiáng)大的處理能力和更高的速度,使得機(jī)器學(xué)習(xí)ML)技術(shù)逐漸擴(kuò)展到邊緣應(yīng)用。借助eIQ軟件,現(xiàn)在可以非常輕松地將新的ML模型
    發(fā)表于 12-20 07:01

    什么是機(jī)器學(xué)習(xí)? 機(jī)器學(xué)習(xí)基礎(chǔ)入門

    本文旨在為硬件和嵌入式工程師提供機(jī)器學(xué)習(xí)(ML)的背景,它是什么,它是如何工作的,它為什么重要,以及 TinyML 是如何適應(yīng)的機(jī)器學(xué)習(xí)是一
    發(fā)表于 06-21 11:06

    部署基于嵌入的機(jī)器學(xué)習(xí)模型

    還需要處理模型的更新。模型更新的速度甚至可以非常高,因?yàn)?b class='flag-5'>模型需要定期地根據(jù)最新的數(shù)據(jù)進(jìn)行再訓(xùn)練。  本文將描述一種更復(fù)雜的機(jī)器學(xué)習(xí)系統(tǒng)的一般
    發(fā)表于 11-02 15:09

    機(jī)器學(xué)習(xí)43條軍規(guī):關(guān)于機(jī)器學(xué)習(xí)ML)工程的最佳實(shí)踐文檔

    簡(jiǎn)單的啟發(fā)式算法有利于推出產(chǎn)品。但復(fù)雜的啟發(fā)式算法難以維護(hù)。當(dāng)您獲得足夠的數(shù)據(jù)并基本確定自己要嘗試實(shí)現(xiàn)的目標(biāo)后,請(qǐng)考慮使用ML技術(shù)。與大多數(shù)軟件工程任務(wù)一樣,您需要不斷更新方法(無論是啟發(fā)式算法還是ML模型),而且您會(huì)發(fā)現(xiàn)
    的頭像 發(fā)表于 05-23 14:23 ?3874次閱讀

    ML-Bench 1.0構(gòu)建和分析機(jī)器學(xué)習(xí)基準(zhǔn)

    本講座描述了用于構(gòu)建機(jī)器學(xué)習(xí)基準(zhǔn)的分析方法。
    的頭像 發(fā)表于 11-13 06:32 ?2414次閱讀

    機(jī)器學(xué)習(xí)的知識(shí)產(chǎn)權(quán)問題

    構(gòu)建用于維護(hù)的機(jī)器學(xué)習(xí)ML模型,必須收集并標(biāo)記正確的訓(xùn)練集,選擇正確的架構(gòu)和訓(xùn)練參數(shù)以實(shí)現(xiàn)算法精度和速度的優(yōu)化平衡,并投入計(jì)算時(shí)間來訓(xùn)
    發(fā)表于 04-08 11:19 ?1509次閱讀

    如何才能正確的構(gòu)建機(jī)器學(xué)習(xí)模型

    組織構(gòu)建一個(gè)可行的、可靠的、敏捷的機(jī)器學(xué)習(xí)模型來簡(jiǎn)化操作和支持其業(yè)務(wù)計(jì)劃需要耐心、準(zhǔn)備以及毅力。各種組織都在為各行業(yè)中的眾多應(yīng)用實(shí)施人工智能項(xiàng)目。這些應(yīng)用包括預(yù)測(cè)分析、模式識(shí)別系統(tǒng)、自
    發(fā)表于 01-11 19:25 ?14次下載

    探究機(jī)器學(xué)習(xí) (ML) 模型的性能

    機(jī)器學(xué)習(xí) (ML) 模型的性能既取決于學(xué)習(xí)算法,也取決于用于訓(xùn)練和評(píng)估的數(shù)據(jù)。算法的作用已經(jīng)得到充分研究,也是眾多挑戰(zhàn)(如 SQuAD、GL
    的頭像 發(fā)表于 04-13 14:37 ?2625次閱讀

    詳談機(jī)器學(xué)習(xí)模型算法的質(zhì)量保障方案

    近年來,機(jī)器學(xué)習(xí)模型算法在越來越多的工業(yè)實(shí)踐中落地。在滴滴,大量線上策略由常規(guī)算法遷移到機(jī)器學(xué)習(xí)
    發(fā)表于 05-05 17:08 ?2322次閱讀
    詳談<b class='flag-5'>機(jī)器</b><b class='flag-5'>學(xué)習(xí)</b><b class='flag-5'>模型</b>算法的質(zhì)量保障方案

    六個(gè)構(gòu)建機(jī)器學(xué)習(xí)模型需避免的錯(cuò)誤

    近年來,機(jī)器學(xué)習(xí)在學(xué)術(shù)研究領(lǐng)域和實(shí)際應(yīng)用領(lǐng)域得到越來越多的關(guān)注。但構(gòu)建機(jī)器學(xué)習(xí)模型不是一件簡(jiǎn)單的
    發(fā)表于 05-05 16:39 ?1418次閱讀

    FreeWheel基于機(jī)器學(xué)習(xí)的業(yè)務(wù)異常檢測(cè)實(shí)踐

    本文介紹了 FreeWheel 基于機(jī)器學(xué)習(xí)的業(yè)務(wù)異常檢測(cè)實(shí)踐,提煉了從零開始構(gòu)建業(yè)務(wù)異常檢測(cè)系統(tǒng)面臨的問題和解決方案,文章介紹了常用的異常檢測(cè)算法,比較了不同算法
    的頭像 發(fā)表于 10-28 14:35 ?903次閱讀

    如何部署ML模型到Google云平臺(tái)

    實(shí)踐中的機(jī)器學(xué)習(xí):在 Google 云平臺(tái)上部署 ML 模型
    的頭像 發(fā)表于 07-05 16:30 ?664次閱讀
    如何部署<b class='flag-5'>ML</b><b class='flag-5'>模型</b>到Google云平臺(tái)

    開發(fā)和部署ML模型介紹

    實(shí)踐中的機(jī)器學(xué)習(xí)ML 工作流
    的頭像 發(fā)表于 07-05 16:30 ?784次閱讀
    開發(fā)和部署<b class='flag-5'>ML</b><b class='flag-5'>模型</b>介紹
    RM新时代网站-首页