Tao Huang

4 Posts

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

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

[Python] 環境建置與套件管理工具-pip、conda、mamba

前言 相信各位在學習使用python的過程中,會發現有很多安裝環境與套件的方式。隨著套件越裝越多,一定都會遇到環境安裝的問題,套件總是裝了又刪,卻總是弄不好環境,尤其當開始試著建立不同版本的機器學習環境,再加上要使用GPU時,更是常常裝一裝就壞了。面對這樣的問題,以及各式各樣的套件管理工具與安裝方式如pip、conda、anaconda、miniconda、miniforge、mamba,我們應該如何選擇與使用,這些工具之間的差異是又什麼呢? 本文將介紹上述這些工具,讓大家選擇合適的方式來管理python環境吧! 套件管理工具 ❗"套件管理? 遇到module not found?直接pip install 錯了嗎?" 首先,在介紹這些工具之前,必須先了解為什麼需要套件管理工具。 相信會點進來閱讀本文的你,都知道我們在用Python開發的時候,會用到很多不同的套件。但在安裝套件時,你會怎麼做呢? 缺什麼就都直接pip install嗎? 大部分人在看套件的安裝文件時,可能會看到它提供兩種不同的安裝方式 conda & pip,以畫圖的套件seaborn為例: 這個時候再

[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 向量嵌入 在談語言模