ML

8 Posts

[Data Science] ChatGPT 帶來崛起的向量資料庫 ! Embedding和向量資料庫系列-3:認識語言模型

前言 上回,我們在Embedding和向量資料庫系列-2:Embedding實作與相似度計算?介紹了如何實作文本生成Embedding的方式,以及幾個相似度計算的應用範例來給大家一些在用法上的想像。同時在上回的小結中還提到了幾個疑問,這些疑問其實就是我們今天要討論的主題,該如何來認識與理解語言模型。今天,在本篇文章中,我們將用簡單易懂的方式,從目標問題的不同來帶大家認識語言模型是如何設計和訓練的。 語言模型是怎麼訓練的? 在Embedding和向量資料庫系列-1:Embedding是什麼?中我們知道了Embedding是模型理解世界的方式,它可以將我們的輸入資訊經過一系列的訓練計算,找到可以表達實體資訊的向量。在語言模型的例子中,輸入的就會是我們平常說的自然語言,而Embedding就是模型用來理解表達的方式。 這個時候,相信大家可能會問,那模型怎麼知道要怎麼學習來理解自然語言呢? 首先,讓我們先來看看下面這張圖: 從圖可以很簡單的理解,我們輸入給模型一些資訊,然後希望模型經過計算後,提供給我們一個我們想要的輸出。模型就像一個魔法黑盒子,也像一個計算超級複雜的函式。 然

[Data Science] 什麼是混淆矩陣 (Confusion Matrix) -模型評估指標

前言 在機器學習和統計學中,混淆矩陣是一種表示監督式學習模型預測結果的表格,特別適用於分類問題。混淆矩陣可以幫助我們了解模型在不同類別上的表現情況,進而評估模型的效能。 一、混淆矩陣的概念 混淆矩陣通常是一個 N x N 的矩陣,其中 N 是類別的數量。對於二元分類問題來說,混淆矩陣是一個 2x2 的矩陣,包含以下四個重要的元素: True Positive (TP):真陽性,表示模型正確地將正類別樣本分類為正類別。 False Positive (FP):假陽性,表示模型將負類別樣本錯誤地分類為正類別。 True Negative (TN):真陰性,表示模型正確地將負類別樣本分類為負類別。 False Negative (FN):假陰性,表示模型將正類別樣本錯誤地分類為負類別。 二、混淆矩陣的應用 混淆矩陣可以幫助我們計算出許多模型評估指標,包括準確率、精確率、召回率和 F值分數等。這些指標可以幫助我們全面評估模型在不同方面的表現。 準確率(

By Allen

[Data Science] MLOps Python套件Scikit-Learn Pipeline

一、前言 機器學習已經成為推動業務創新和提升決策品質的重要力量。隨著機器學習模型在各行各業的廣泛應用,如何有效地將這些模型從實驗室環境轉移到生產環境,並確保它們在實際操作中的穩定性和效率,MLOps是一種實踐,結合了機器學習、DevOps(開發與運營)和數據工程的原則,旨在自動化和優化機器學習模型的整個生命周期。 二、Scikit-Learn介紹 是一種主要由python撰寫的套件庫,根據其官網的介紹: 1. 用於分析、預測資料簡單且有效的工具 2. 大部人都可以很快速上手,且可以適用於不同情境 3. 基於NumPy, SciPy, and matplotlib建構 4. 開源且商業可用 常見的分類、分群、迴歸等方法在scikit-learn中都可以找到,除了收納了多數常用模型外,也提供了不少除了模型以外的工具如: 1. 資料預處理(標準化、遺失值處理...) 2. 模型特徵選擇及降維(PCA、LDA) 3. 模型評估方法(交叉驗證、Reacll、F1-score) 4. 模型儲存 5.

By Allen

[Data Science]探討模型/分析程式架構

一、前言 軟體開發中,會將程式架構引入設計模式(design pattern),目的是用來簡化程式的開發與強化程式的維護性;例如常見的Model-View-Controller(MVC)模式,或是拆成router、controller、service、handle等區塊等,將每個單一的功能或方法,依據不同的功能與邏輯分拆並放到不同的區塊之中,已建立專案內鬆散的耦合(Loose Coupling)關係。 如上圖,一個使用者對點擊一個網頁,觸發了一項請求,這份請求原本應該是一支function再回傳結果,但根據拆分後的架構,請求會經Router決定他要由哪個Controller進行param的檢查後進到Service做資料的撈取。 拆解後的程式架構中,每一個部分負責的功能都不一樣,主要是強調職責分離,這樣的好處可以讓開發跟維護人員可以更快的針對目的或是BUG找到對應的部分,因此在維護跟開發上更加方便。 二、模型/分析有沒有所謂的”通用”架構? 隨著硬體的日新月異,資料的儲存、演算法的運行時間門檻逐漸降低,即時無法購買大型機器或高階顯卡,也能透過租用的方式來獲得高端的空間或是效

[Data Science] Embedding和向量資料庫系列-2:Embedding實作與相似度計算

前言 上回,在Embedding和向量資料庫系列-1:Embedding是什麼?介紹了Embedding的幾個基本概念,講述了Embedding產生的方式以及其可表達實體的相似與相異關係的特性。這次,本文將利用Sentence-BERT實作範例,帶大家認識如何幫文本產生Embedding,並且利用相似度的計算來完成一些情境的應用。 語言模型 當我們想要幫文本產生Embedding,可能會遇到一系列的問題;如,從眾多語言模型中,應該選擇哪個開始下手? 模型是否可以直接使用? 模型可以從哪些途徑取得或訓練? 首先,大家可以很簡單的試想一下,如果Embedding可以來表示數量龐大的文字和複雜的語意關係,那過程中使用和產出Embedding的語言模型,想必相對的需要大量高品質且還蓋廣泛主題類型的文本資料集作為訓練基礎。 而大量的訓練資料也意味著需要強大的運算資源和大量運算時間。大家可能有聽過由Google的BERT衍生的各種模型,或是最近期熱度很高的OpenAI的GPT系列模型,這些都是耗費大量成本訓練出來的模型。而這些已經經過大量資料訓練的模型,我們會稱為預訓練模型(pre-tr

[Data Science] Embedding和向量資料庫系列-1:Embedding是什麼?

前言 2022年底,ChatGPT橫空出世,為整個世界帶來又一次的AI熱潮,短短幾個月間,各式各樣的嘗試與應用隨之出現。Open AI 這次投下的震撼彈,也逼著其他科技巨頭們紛紛跟著出牌,一時間整個AI界百花齊放,不只是LLM (Large Language Model,大型語言模型)的各種花式應用,其他 AIGC (AI Generated Content)的模型與討論也跟著大量出現。 隨著大量對LLM的嘗試與體驗後,人們開始日漸理解LLM生成的品質與限制。大家開始思考,如果想將LLM應用在自己的商業情境中,該怎麼實現讓LLM "依照指定或有限範圍中的資料或知識"來回答呢? 於是,向量資料庫就在這樣的背景下迎來崛起,跟著成為熱門的討論話題,就讓我們來看看LLM接上向量資料庫這個"外接的大腦"到底是怎麼一回事吧! 本篇文章包含三個段落,主要想帶大家理解向量嵌入的基本概念: * Embedding是模型理解世界的方式 * 簡單理解Embedding的概念 * 為什麼需要使用Embedding? 它解決了什麼問題? Vector Embedding 向量嵌入 在談語言模

什麼是數據模型/預測模型?行銷人必備入門第一課,搞懂數據的應用與限制-Part 2

數據預測模型題目舉例 在Part 1我們了解數據預測模型的運作邏輯後,接下來做個簡單的測驗,看看你有沒有get到數據預測模型的應用可能性與限制吧!假設今天我們的品牌是綜合性電商,下表的內容即為品牌擁有的所有資料: 資料庫儲存的資料 Purchase:交易會員、交易品項、交易總額 Date:交易發生日期、交易日期對應的優惠活動、交易發生日種(平假日) Member:會員性別年齡、會員註冊年份、會員收件地址、會員電話、會員email Behavior:會員站內瀏覽行為、會員購物歷程(Add to cart、Drop、Payment...) 基於上述資料,以下哪些是我們有機會建置的數據預測模型呢?(此處不用考量資料量體是否足夠或建立的模型是否可達到夠高的結果準確性,只需判斷是否擁有符合題目基本需求的資料即可。) 預測會員下個月回購機率 是否可執行:YES 原因:具備會員消費紀錄 利用天氣預測業績 是否可執行:NO 原因:目前沒有紀錄天氣資料 預測下個月特定品項的銷售業績 是否可執行:YES 原因:具備各品項的交易紀錄

什麼是數據模型/預測模型?行銷人必備入門第一課,搞懂數據的應用與限制-Part 1

前情提要 行銷界近兩年最重要的話題之一,無非在Apple逐步限制廣告可追蹤性、Google宣稱cookieless時代終將來臨的變化下,原先大幅利用第三方數據的媒體操作和行銷科技,該如何調整策略?隨之而來的熱趨勢,就是品牌主接下來應該如何善用自己所擁有的第一方數據,創造具持續性與成長性的商業策略。 身為行銷人一定或多或少聽過「數據預測模型」「AI-Powered」「模型預測」等關鍵字,但數據應用到底怎麼用?可以完成什麼目的?乃至想開始使用數據預測模型的話需要哪些前置作業呢?本文將帶您用淺顯易懂的方式了解數據的應用與限制,開啟AI行銷的大門。 適用閱讀者 * 廣告代理商 業務/策略 * 媒體代理商 業務/企劃/優化師 * 品牌 BU/Marketing/CRM Team * 任何沒有數據背景但想有初步認識的人 什麼是數據預測模型 簡單來說,我們將既有的資料餵養給機器模型,而機器模型透過合適的演算法,計算人腦難以處理的複雜維度和處理數據間的複雜關聯性,最後產出具有預測性的結果。 有別於「統計模型」是依照歷史資料的脈絡計算後提供彙整的結果,「數據預測模型」是找到歷史