發佈日期:

LoRA (Low-Rank Adaptation)

LoRA(Low-Rank Adaptation)是什麼

LoRA是一種有效的參數微調技術,可幫助改善大型語言模型在特定任務上的效能表現,並且具有較低的運算和儲存成本。它是一種用於在大型語言模型(LLM)上進行參數微調的技術。 它旨在透過降低模型參數的秩(rank)來減少模型的複雜度,從而提高模型的泛化能力和適應性。

在傳統的參數微調過程中,常常會遇到過擬合的問題,特別是當訓練資料較少或訓練資料與目標任務不符時。 LoRA透過引入一個低秩的參數矩陣,將原始的高維參數矩陣分解成兩個低秩矩陣的乘積,從而降低模型的複雜度。 這種降維的方式可以有效地減少模型的參數量,減緩過度擬合的情況,並提高模型的泛化能力。

LoRA的主要優點

  • 更快的訓練速度 :將原始的高維度參數矩陣分解成低秩矩陣,可以大幅減少模型的參數數量。
  • 更低的計算成本 : 將原始的高維度參數矩陣分解成低秩矩陣,進而降低模型的計算和儲存成本。它不是添加層,而是為參數添加值,不會導致推理延遲。
  • 更少的泛化損失: LoRA能夠提高模型的泛化能力,使其更能適應不同的任務和領域。

LoRA流程說明

  • 使用預訓練的 LLM 權重初始化 A 和 B 矩陣。
  • 將 LLM 應用於特定任務的訓練數據集。
  • 在訓練過程中,只有 A 矩陣會針對訓練數據集(輸入資料(X))進行微調。
  • 訓練完成後,獲得了針對特定任務適應的 LLM,也就是H(輸出)。

運作原理

在LoRA中,一組新參數同時加入了網路WA和中WB。這些網路利用低秩權重向量,其向量的維度表示為dxr和rxd。在這裡,「d」代表原始凍結網路參數向量的維度,而「r」表示所選的低秩或更低維度。值得注意的是,「r」的值越小,模型訓練過程就越加速和簡化。確定適當的「r」值是LoRA中的關鍵決策。選擇較低的值會導致更快且更具成本效益的模型訓練,但可能不會產生最佳結果。相反,選擇較高的「r」值會增加訓練時間和成本,但會增強模型處理更複雜任務的能力。

LoRA的運作方式是,首先需要一個預先訓練的LLM,並凍結其大部分參數。然後,將這些凍結的預訓練模型權重與可訓練的秩分解矩陣一起注入到變壓器的每一層中。這樣做有助於精細化模型,特別是在低資源硬體上調整模型。

從上表可以看出,LoRA 方法的結果與經典的微調方法相當,可以用更少的時間和資源獲得或多或少相同的結果,並且有更快的執行時間和更短的訓練時間,真是太棒了!

結論

  • LoRA 是一種模型適應技術,可減少 LLM 中的參數數量,同時保持其效能。
  • 它透過將LLM的權重分解為低秩矩陣(共同特徵)和隨機矩陣(特定於任務的變體)來實現這一點。
  • 低秩矩陣和隨機矩陣相結合產生一個特定於任務的適配器,該適配器可以根據特定任務自訂 LLM。
  • LoRA 在訓練速度、運算效率和模型大小方面具有優勢,使其適合資源受限的環境。
  • LoRA 多數的成果比 Fine-tuning 的成果還要好,並且訓練的參數量遠小於 Fine-tuning。

更多資訊請見

LoRA: Low-Rank Adaptation of Large Language Models:

發佈日期:

Retrieval-Augmented LLMs

檢索增強生成(RAG)的工作流程

從使用者查詢開始,透過向量資料庫檢索,到填入提示,最終形成回答的整個過程。

RETA-LLM框架可以看作是實現RAG目標的一種具體實現方式,它提供了一套模組化的工具和方法來將外部知識整合到語言模型中,以提升其產生答案的能力。

RETA-LLM Framework

研究論文: https://arxiv.org/pdf/2306.05212v1

過去通用的LLM增強工具包(如LangChain)與RETA-LLM有所不同,RETA-LLM專注於檢索增強LLMs,並提供更多的插件模組。

檢索增強LLMs使用兩個模組的檢索和生成策略:

  • 根據用戶的請求檢索文件或段落(文件檢索模組)
  • 利用這些相關文件作為參考生成答案(答案生成模組)。

除了這兩個基本模組外,RETA-LLM還提供了三個可選模組:

  • 請求重寫模組,以使用戶當前的請求更完整和清晰
  • 萃取模組,從檢索到的整個文件內容中提取相關段落或片段
  • 事實檢查模組,以驗證生成答案中是否存在事實錯誤

這些可選模組可以使IR系統和LLMs之間的交互更加有效和順暢。RETA-LLM中LLMs和IR系統之間的解綁更加徹底,這使得搜索引擎和LLMs的定制更加方便。

RETA-LLM的框架圖

RETA-LLM的工作流程如下:

  • 使用請求重寫模組修改目前使用者請求,使其完整且清晰。 由於使用者可能向RETA-LLM提出一系列問題,目前使用者請求的語意可能不完整。 例如,使用者可能會問「經濟學院怎麼樣?」而歷史請求是「介紹資訊學院的專業」。 在這種情況下,使用者的準確意思是「介紹經濟學院的專業」。 由於LLMs在對話式密集檢索中顯示出出色的重寫查詢能力,RETA-LLM將當前使用者請求和先前的對話歷史提供給LLMs進行重寫。
  • 然後,RETA-LLM使用文件檢索模組根據修訂後的使用者請求從外部語料庫中檢索相關文件。 文檔檢索模組是與IR系統連接的模組。 它從外部知識語料庫中檢索相關文件並傳回前K個。 。
  • 接下來,RETA-LLM使用段萃取模組從檢索到的文件中提取與使用者請求相關的片段,以形成參考文獻。 由於LLMs的輸入長度限制(通常為2048或4096個標記),因此不可能直接將所有前K個相關文件內容連接起來作為它們產生答案的參考文獻。 透過截斷文件內容的瑣碎方法可能會遺失其中的重要資訊。 因此,RETA-LLM重複使用LLMs自身從修訂後的請求中提取相關片段。 由於一個文件的長度也可能超出限制,RETA-LLM採用滑動視窗策略逐步擷取片段。 在我們的預設配置中,滑動視窗大小和步長設定為512和256。 然後,這些片段被連接在一起作為參考文獻。
  • 此外,RETA-LLM使用答案產生模組為使用者請求產生答案。 如同先前的研究所建議的,透過提供來自外部語料庫檢索到的參考文獻,LLMs可以產生更準確的答案。
  • 最後,RETA-LLM使用事實檢查模組驗證產生的答案是否包含事實錯誤,並為使用者要求輸出最終回應。 儘管提供了產生的額外證據,LLMs也可能出現幻覺。 有必要設計一個模組進行進一步的事實驗證。 由於LLMs具有強大的自然語言理解能力,我們將參考文獻和生成的答案提供給它們進行判斷。 因此,RETA-LLM可以決定是否輸出產生的答案,或只是說「我無法回答這個問題」。

請注意,LLMs的所有輸入都包含在指示或提示中。 如圖1所示,在RETA-LLM中完全解開了IR系統和LLMs之間的連結。 我們RETA-LLM中的這種分離設計使用戶可以自訂自己的個人搜尋引擎和LLMs。

知識檢索的過程

  • 內建工具增強助手功能: 內建的工具可以將上傳的文件中的外部知識與助手功能結合起來,使助手能夠存取並利用這些外部知識來回答使用者的問題。
  • 內容分塊、索引和嵌入儲存: 上傳的檔案內容將被分成區塊,然後進行索引和嵌入儲存。 這意味著文件內容將被切割成較小的片段,每個片段都會被賦予一個特定的標識,並且會轉換成向量表示,以便更有效地處理和檢索。
  • 檢索嵌入以回答輸入查詢: 當使用者提出查詢時,系統會將檢索嵌入的向量表示以尋找與查詢相關的內容區塊。 這些內容區塊中包含的知識將被用來回答使用者的查詢,以提供更準確和全面的答案。

RAG的挑戰

  • 檢索模型: 選擇合適的檢索模型是一項挑戰。 不同的檢索模型可能適用於不同的場景,因此需要仔細選擇以確保檢索的效果和效率。
  • 稠密或稀疏表示: 在RAG中,可以使用稠密或稀疏的表示來表示檢索到的內容。 稠密表示通常具有更高的維度和更多的信息,但也可能更加計算密集。 稀疏表示則可能更加高效,但可能會遺失某些細節資訊。
  • 內容區塊的單位: 將內容分成適當的區塊是一個挑戰。 區塊的大小和粒度會影響到檢索和處理的效率,因此需要找到一個合適的單位來平衡資訊的完整性和處理的複雜性。
  • 類似的參考引入噪音: 當有多個相似的參考資料時,可能會引入噪音,使系統難以確定哪個參考是最相關的。 這可能會影響答案的準確性和一致性。
  • 有些問題需要跨文件引用來回答: 某些問題可能需要引用多個文件中的資訊才能進行回答。 這增加了檢索和整合資訊的複雜性,需要係統能夠有效地處理跨文件的引用和關聯資訊。
發佈日期:

提示工程框架的概念

明確具體的提問

  • 請求模型採用一個人物角色
  • 使用分隔符清楚地指示輸入的不同部分
  • 指定完成任務所需的步驟
  • 提供示例
  • 指定輸出的期望長度

以下為一個範例

In-Context Learning和Chain-of-Thought

  • In-Context Learning(上下文學習): 這是指模型在學習和處理文字時能夠考慮上下文資訊的能力。 在上下文學習中,模型不僅僅關注單字或短語的訊息,而是根據前後文的內容來理解當前文本的含義。 這種能力使得模型能夠更好地理解文本的語境,從而產生更準確和連貫的輸出。
  • Chain-of-Thought(思維鏈): 這指的是模型在生成文本時能夠保持連貫性和邏輯性的能力。 在思維鏈中,模型可以根據前面產生的內容來決定後續產生的內容,並保持文字的一致性和邏輯性。 這種能力使得模型能夠產生更連貫和有意義的文字輸出。
圖片來源: https://arxiv.org/pdf/2205.11916.pdf

Tree-of-Thoughts思維樹

思考樹(ToT)是一種透過將複雜問題分解為更易於解決的小問題,為LLM推理提供了更結構化的提示框架。

與在鏈中推理的CoT不同,ToT以樹的形式組織其解決問題的策略。每個節點都被稱為“思維”,是一個連貫的語言序列,是通往最終答案的一步。

透過將問題劃分為離散的「思想」單元——從填字遊戲中的一系列簡短單字到數學方程式的一個組成部分——ToT確保問題的每個階段都得到系統的解決。

圖片來源: https://arxiv.org/pdf/2305.10601.pdf

在「oracle模式」下,ToT的表現比CoT還要好

發佈日期:

準備微調用的資料集

LLM的訓練過程

以下是LLM訓練過程的圖

NLP 數據集可用於演示各種 NLP 任務,例如:

  • 情感分析
  • 分類
  • 命名實體識別
  • 機器翻譯

NLP 數據集可用於為 NLP 模型提供輸入和輸出。

  • 輸入:NLP 數據集可用於為模型提供訓練數據。這可以幫助模型學習如何執行特定任務。
  • 輸出:NLP 數據集可用於評估模型的性能。這可以幫助確定模型是否有效以及如何改進模型。

整理 NLP 數據集的步驟

  1. 收集數據:首先,您需要收集要使用的數據。數據可以來自各種來源,例如互聯網、書籍或其他媒體。
  2. 清理數據:一旦收集了數據,就需要清理數據。這包括刪除不需要或錯誤的數據,以及糾正任何錯誤或不一致之處。
  3. 預處理數據:接下來,您需要預處理數據。這包括將數據轉換為格式,以便模型可以輕鬆處理它。這可能包括將文本轉換為數字表示、分段句子或刪除停用詞。
  4. 標註數據:對於某些 NLP 任務,您需要標註數據。這意味著將正確的答案或標籤分配給每個數據點。
  5. 拆分數據:最後,您需要將數據拆分成訓練、驗證和測試集。訓練集將用於訓練模型,驗證集將用於評估模型在訓練過程中的性能,測試集將用於評估模型的最終性能。

簡單的範例程式碼

import pandas as pd
from sklearn.feature_extraction.text import TfidfVectorizer

# Load text data
text_data = ["This is a sample text.", "Another text sample.", ...]

# Preprocess text data (e.g., remove special characters, convert to lowercase)
preprocessed_text = [t.strip().lower() for t in text_data]

# Tokenize text data
tokenized_text = [t.split() for t in preprocessed_text]

# Vectorize tokenized text using TF-IDF
vectorizer = TfidfVectorizer(max_features=5000)
X = vectorizer.fit_transform(tokenized_text)

# Assign labels to the vectorized data (e.g., sentiment analysis, classification)
y = ...

# Create a Pandas DataFrame with the preprocessed data and labels
df = pd.DataFrame({'text': preprocessed_text, 'label': y})

# Save the dataset to a file or database for future use
df.to_csv('nlp_dataset.csv', index=False)

用於整理 NLP 數據集的工具和資源

  • NLTK:NLTK(Natural Language Toolkit)是一個廣泛使用的 Python 庫,用於自然語言處理。它包含許多用於數據清理、預處理和標註的工具。NLTK 文檔: https://www.nltk.org/book/
  • spaCy:spaCy 是另一個流行的 Python 庫,用於自然語言處理。它包含許多用於數據清理、預處理和標註的工具。spaCy 文檔: https://spacy.io/
  • Stanford CoreNLP:Stanford CoreNLP 是由斯坦福大學開發的一個 Java 庫,用於自然語言處理。它包含許多用於數據清理、預處理和標註的工具。Stanford CoreNLP 文檔: https://github.com/stanfordnlp/CoreNLP
發佈日期:

基於神經網路的語言模型

基於神經網路的語言模型

基於神經網路的語言模型是一種利用深度學習技術,特別是透過循環神經網絡(RNN)或注意力機制(Transformer)的模型,來處理自然語言文本並生成下一個詞彙的模型。相較於傳統的方法,這種模型具有以下特點:

  1. 直接學習預測下一個詞彙: 這些模型直接從大量的文本資料中學習,不需要手動設計特徵或規則。它們通過觀察先前的詞彙序列,學習預測接下來的詞彙。
  2. 利用詞彙相量表徵語意資訊: 在進行預測時,這些模型使用詞彙的向量表示,這些向量捕捉了詞彙之間的語意關係。這使得模型能夠捕捉到詞彙之間的語義相似性,而不僅僅是單純的字符匹配。
  3. 克服死板的字符匹配: RNN和Transformer網絡並不僅僅是計算連續N個詞彙的頻率,它們能夠捕捉到更複雜的詞彙之間的關係,包括不同詞彙之間的語義相似性和語境相依性。
  4. 減少稀疏性: 由於詞彙向量化,模型能夠減少稀疏性,從而可以從有限的資料中學習到更豐富的詞彙組合和上下文意義。這意味著即使在有限的資料情況下,模型也能夠產生更加流暢和自然的文本。

依據用戶的指示,LLMs可以執行各種從所未見的新任務,甚至不需要任何樣本、範例。

T5 (Text-to-Text Transfer Transformer) 模型

所有自然語言處理的任務,都可以化為序列對序列的生成任務

缺點包括:

  • 只能執行已經學過的任務
  • 對提示極其敏感,無法泛化
  • 缺乏推理能力,無法處理新任務
  • 即使在已知任務上,性能也可能有限
  • 有著輸入和輸出長度的限制。

LLM的演化歷史


大型語言模型具有以下特別能力:

  1. In-context learning(上下文學習): 這些模型能夠通過理解輸入文本的上下文來進行學習和產生輸出。它們能夠利用先前的信息和對話歷史來生成更加連貫和相關的回應。
  2. Instruction following(遵循指示): 大型語言模型能夠理解和遵循輸入中的指示或命令。它們能夠從自然語言描述中抽取出指示的含義,並執行相應的操作或生成符合指示的輸出。
  3. Step-by-step reasoning(逐步推理): 這些模型能夠通過逐步推理的方式來解決複雜的問題。它們能夠理解問題的各個步驟,從中推斷出答案或採取相應的行動,進而解決問題。

微調過程

微調過程如下:

  1. 從預訓練的 GPT 模型開始。
  2. 使用反向傳播算法訓練模型以最小化誤差。
  3. 使用上下文學習技術提高模型的性能。
  4. 使用元梯度 AWICL 算法進一步提高模型的性能。

此圖表顯示了微調過程的各個步驟

Dual View 是一種 上下文學習 技術,允許模型考慮輸入句子和查詢句子的上下文。它通過向模型提供兩個視圖來實現:

發佈日期:

Phi-2 vs Phi-3大語言模型初探

Phi-2 模型介紹

官方介紹: https://www.microsoft.com/en-us/research/blog/phi-2-the-surprising-power-of-small-language-models/

Phi-2 是一個擁有27 億個參數的 Transformer。它使用與Phi-1.5相同的資料來源進行訓練,並使用由各種 NLP 合成文字和過濾網站組成的新資料來源進行了增強(出於安全性和教育價值)。當根據測試常識、語言理解和邏輯推理的基準進行評估時,Phi-2 在參數少於 130 億的模型中展示了近乎最先進的性能。

Phi-3模型介紹

官方介紹: https://azure.microsoft.com/en-us/blog/introducing-phi-3-redefining-whats-possible-with-slms/

Phi-3-Mini-128K-Instruct 是一個擁有 38 億參數的輕量級最先進的開放模型,使用 Phi-3 資料集進行訓練。該數據集包括合成數據和經過過濾的公開網站數據,重點是高品質和推理密集屬性。

在初始訓練後,該模型經歷了訓練後過程,其中包括監督微調和直接偏好優化,以增強其遵循指令和遵守安全措施的能力。當根據測試常識、語言理解、數學、編碼、長期上下文和邏輯推理的基準進行評估時,Phi-3 Mini-128K-Instruct 在模型中展示了強大且最先進的性能130 億個參數。

指令實測

模型角色設定: You are a data organizer and will summarize the entered articles.

輸入文字:

Spotlight on Disability:IN Partners using technology to enhance the accessibility of products we use every day.
Amtrak
Amtrak Provides Accessibility Upgrades at Utah Stations

WASHINGTON, DC – Amtrak customers can enjoy a more accessible and comfortable experience at the Green River and Helper, Utah stations following the completion of $5 million in upgrades. Amtrak’s California Zephyr stops twice daily at each station while traveling between Chicago and Emeryville,

Apple
The Right Shortcuts Can Give Your iPhone Superpowers. Here’s How.| WashingtonPost.com

Take the pain out of tedious tasks with Apple’s Shortcuts app.

Aira
Free Aira Access Offers by State & Province | Aira.io

At Aira, we are committed to expanding access to visual information for everyone. In this spirit, we work with Access Partners all over who provide Aira for free to their students, customers, residents, and visitors. This means anyone who is at one of the below Access locations can open the Aira app on their smartphone and instantly be connected to a professional visual interpreter. If you’re interested in finding out where you can connect with a visual interpreter for free in your state of province, read on.

AWS
Announcing Accessibility Conformance Reports (ACRs) in AWS Artifact

Accessibility Conformance Reports (ACRs) for AWS products and services are now available on AWS Artifact, a self-service portal for AWS compliance-related information. ACRs are documents that demonstrate the accessibility of AWS services.

Through AWS Artifact, you can download ACRs on-demand to understand the accessibility of a specific AWS product or service. AWS ACRs utilize the ITI Voluntary Product Accessibility Templates (VPAT®) and reference various accessibility standards including Section 508 (U.S.), EN 301 549 (EU), and Web Content Accessibility Guidelines (WCAG).

Google
The Best Google Docs Keyboard Shortcuts for Boosting Your Productivity | Wired.com

Learn how to use keyboard shortcuts instead of mouse clicks for common tasks in Google Docs. You might be surprised at how much time you save.

Starbucks
All the Changes Starbucks Made to Its Cold Cups and Lids to Reduce Plastic and Help Visually Impaired People

The Starbucks tall, grande and venti cups will now all use the same lid.

輸出回應 – phi-2-GGUF

模型名稱: TheBloke/phi-2-GGUF/phi-2.Q2_K.gguf

模型首頁: https://huggingface.co/TheBloke/phi-2-GGUF

模型回應:

心得: 看不出關聯性…這根本不相關吧?

To remove a tree stump, cut down the tree first

How can you make sure the tree is cut off completely? Cut it with a chainsaw.

If you’re like most people, your backyard has an old tree stump that took up too much space and is now dead wood waiting for you to get rid of. Or perhaps you have a dead tree stump in front of your house that needs to come down soon. Either way, it’s time for the stump to go.

But before you can cut down that old tree stump and remove it, you need to know how to cut it correctly.

The first step is removing all branches from around the trunk. This will make your cutting easier.

Once your tree has been removed and all of its branches have been cut off, it’s time to start thinking about removing that stump. You can either rent a stump grinder or cut down the tree yourself. If you decide to do this, remember that there are two main ways in which to remove a tree:

  • Using a chainsaw
  • With an axe

The first method is easy to figure out and we’ll discuss it here. The second option requires a lot more experience (and, yes, a bit of courage), so if you don’t know how to use an axe or a chainsaw then you might want to leave that stump alone until you can call in the experts.

But first, what is a tree stump? Well, a tree stump is the portion of the tree that has been cut off after the entire trunk and branches have fallen. This is important because it lets you know when your tree has died or if it’s time to remove that tree from the ground. So how can you get this done?

Before we get into removing a tree, let’s talk about what happens inside trees during their lifetime (when they’re alive and not dead). As trees grow, their branches start out as leaves but eventually turn into woody tissue that is called “wood.” When the time comes for the tree to die, it starts shedding its old leafy leaves in order to let new ones emerge.

To cut down the entire tree, you have two options: cutting or grinding. Cutting requires a chainsaw and involves cutting branches one by one until all are gone. This is a much faster method if your tree is already dead or dying but it can also be dangerous if not done correctly. You’ll need to be very careful when you use the cutting method, especially if you don’t have experience in cutting down trees (or at least not with chainsaws).

Grinding a tree involves using an axe and/or chainsaw to cut through the trunk of the tree. This is one of the more dangerous methods because it involves cutting into the woody tissue that surrounds your living tree. It’s also time-consuming, requiring patience and skill in order to remove the stump completely.

When you need to cut down your tree (or even a branch), look out for branches and leaves around the trunk of the tree. If they aren’t there anymore, then it’s time to get cutting!

If you don’t have experience with cutting or grinding, start by removing branches from the outside until the inside is exposed. This will be helpful when you come to cut down your tree because once it dies or has been completely removed, there won’t be any leaves left on its trunk that could fall off and cause damage.

If you do have experience with cutting or grinding, make sure you get the whole job done right the first time around! If not, then look up some tips online about how to cut down your tree without damaging yourself or others. Remember, safety is key!

Finally, if you don’t know whether you can use a chainsaw or axe and you want to make sure that you’ll be safe when you do the job, talk to an expert first. They will guide you through the process of removing that tree stump before it’s too late!

輸出回應 – Phi-3-mini-4k-instruct-gguf

模型名稱: Phi-3-mini-4k-instruct-GGUF/Phi-3-mini-4k-instruct-Q8_0.gguf

模型首頁: https://huggingface.co/microsoft/Phi-3-mini-4k-instruct-gguf

模型回應:

心得: 還不賴,phi-3試滿多次不同的輸入,成果真的還不錯,而且token長度可以到128k

Accessibility Improvements in Transportation: Upgrades at Utah Amtrak Stations

Amtrak has completed $5 million in accessibility upgrades for Green River and Helper stations in Utah, enhancing travelers’ experiences with the California Zephyr service. This investment ensures a more inclusive transportation system that caters to passengers with disabilities by improving station facilities.

Apple Shortcuts App: Streamlining iPhone Tasks for Enhanced Accessibility and Efficiency

The Apple Shortcuts app allows users to automate various tasks on their iPhones, providing a way to simplify daily routines and make technology more accessible to individuals with disabilities. The application’s customization options enable the creation of personalized shortcuts tailored for specific accessibility needs.

Aira: Connecting Visually Impaired Individuals Through Free AI-Powered Visual Interpretation Services

Aira, an innovative visual assistance platform, offers free access to its services through partnerships with Access Partners in various states and provinces. By connecting users of the Aira app with professional visual interpreters via their smartphones, visually impaired individuals can receive real-time guidance, making daily activities more manageable.

AWS Accessibility Conformance Reports: Enhancing Cloud Compliance and Inclusivity

Amazon Web Services (AWS) introduces the AWS Artifact platform to provide users with Accessibility Conformance Reports (ACRs), showcasing how each service adheres to accessibility standards like Section 508, EN 301 549, and WCAG. Users can download ACRs on-demand for a better understanding of AWS’ commitment to inclusivity in cloud computing services.

Google Docs Keyboard Shortcuts: Elevating Productivity with Accessibility Features

Adopting keyboard shortcuts in Google Docs reduces reliance on mouse clicks, improving accessibility and efficiency for users with motor disabilities or those who prefer a streamlined approach to document creation. Utilizing these shortcuts can significantly enhance workflow by reducing time spent navigating menus.

Starbucks’ Efforts in Reducing Plastic Waste and Enhancing Accessibility through Unified Cup Design

In its commitment to sustainability, Starbucks redesigned cold cups and lids across various sizes (tall, grande, venti) for reduced plastic waste. Moreover, the new uniform design also benefits visually impaired customers by simplifying identification of cup types and improving their overall experience at Starbucks outlets.

輸出回應 – phi-2-GGUF

模型名稱: TheBloke/phi-2-GGUF/phi-2.Q8_0.gguf

模型首頁: https://huggingface.co/TheBloke/phi-2-GGUF

模型回應:

心得: 雖然沒有太好但至少和原文有相關

  1. Amtrak customers can enjoy a more accessible and comfortable experience at the Green River and Helper, Utah stations following the completion of $5 million in upgrades.
  2. Aira offers free Visual Interpreter Access to their customers, residents, visitors at specific Access locations.
  3. All Starbucks’ tall, grande and venti cups will now use the same lid.
  4. Apple’s Shortcuts app can be used to take the pain out of tedious tasks with shortcuts and commands.
  5. ACRs are documents that demonstrate the accessibility of AWS services.
  6. Google Docs has keyboard shortcuts for common tasks which can save users time.
  7. Starbucks has made changes to their cold cups and lids in order to reduce plastic waste and help visually impaired people.

輸出回應 – phi-2-GGUF

模型名稱: kroonen/phi-2-GGUF/phi-2_Q8_0.gguf

模型首頁: https://huggingface.co/TheBloke/phi-2-GGUF

模型回應:

心得: 只剩下最後一項星巴克的內容了…

The article reports on the changes made by Starbucks to its cups and lids in order to reduce plastic waste and improve accessibility for visually impaired customers. The new design features a single lid that fits across most sizes of cups, eliminating the need for different types of lids. The article also mentions some of the other benefits of the new design, such as reducing foam leakage and making it easier to recycle.

輸出回應 – dolphin-2_6-phi-2.Q8_0.gguf

模型名稱: TheBloke/dolphin-2_6-phi-2-GGUF/dolphin-2_6-phi-2.Q8_0.gguf

模型首頁: https://huggingface.co/TheBloke/dolphin-2_6-phi-2-GGUF

模型回應:

心得: 摘要能力算還不錯

Disability:IN Partners is using technology to enhance accessibility of products we use every day. For example, Amtrak has upgraded its stations in Utah to make it more accessible for customers with disabilities. Apple’s Shortcuts app helps users save time by automating tedious tasks on their iPhones. Aira offers free access to visual information through their app for those who need it, and AWS provides Accessibility Conformance Reports (ACRs) to demonstrate the accessibility of their products and services. Google Docs keyboard shortcuts can boost productivity while Starbucks has made changes to its cups and lids to reduce plastic waste and help visually impaired people.

發佈日期:

探索LM Studio:輕鬆測試和部署開源大型語言模型

在人工智能快速發展的今天,大型語言模型(LLM)已成為自然語言處理領域的重要工具。然而,對於許多開發者和AI愛好者來說,如何在本地環境中測試和部署這些強大的模型仍然是一個挑戰。這就是LM Studio發揮作用的地方,它為我們提供了一個便捷的平台,讓我們能夠輕鬆地探索各種開源LLM模型的潛力。

LM Studio:您的本地AI實驗室

LM Studio是一款專為測試和運行開源大型語言模型設計的應用程序。它的界面直觀易用,使得即使是AI領域的新手也能快速上手。通過LM Studio,您可以在自己的電腦上部署各種GPT模型,實現離線AI聊天機器人的功能,這不僅保護了隱私,還為AI應用的開發提供了更大的靈活性。

安裝LM Studio:開啟您的AI之旅

要開始使用LM Studio進行LLM模型的測試,首先需要完成安裝過程。以下是詳細的步驟:

  1. 訪問LM Studio官網:https://lmstudio.ai/
  2. 點擊”Download”按鈕,選擇適合您操作系統的版本。
  3. 下載完成後,按照提示完成安裝。

安裝過程簡單直接,很快您就能開始探索開源LLM模型的世界了。

成功安裝LM Studio後,您會發現它的界面設計非常直觀。主要功能區域包括:

  • 模型選擇區:這裡列出了您可以使用的各種開源LLM模型。
  • 聊天界面:您可以在這裡與選定的AI模型進行對話,測試其自然語言處理能力。
  • 參數設置區:調整模型的各項參數,優化AI的表現。
LM Studio的界面:功能一目了然

這樣的設計使得測試和比較不同的GPT模型變得輕而易舉,為您的AI實驗提供了理想的環境。

LM Studio介紹

LM Studio 是一款跨平台的桌面應用程式,可讓您輕鬆探索和使用本地和開源的大型語言模型 (LLM)。它提供了一個簡單但功能強大的模型配置和推理用戶界面,讓您可以輕鬆下載和運行任何與 ggml 兼容的模型來自 Hugging Face。

LM Studio 的主要功能包括:

  • 瀏覽和搜索來自 Hugging Face 的大量 ggml 兼容模型
  • 一鍵下載和安裝模型
  • 配置模型參數,例如溫度和頂級 P
  • 以多種格式生成文本、翻譯語言、編寫不同類型的創意內容以及以信息豐富的方式回答您的問題
  • 使用 GPU 加速推理(如果可用)

LM Studio 非常適合以下人群:

  • 對 LLM 感興趣的開發人員和研究人員
  • 想要嘗試使用 LLM 創建新應用程序的人
  • 需要使用 LLM 完成任務的任何人,例如編寫、翻譯或研究

使用 LM Studio 的優點:

  • 易於使用:LM Studio 具有簡單的用戶界面,即使是沒有 LLM 經驗的人也可以輕鬆使用。
  • 功能強大:LM Studio 提供了一系列功能,可讓您充分利用 LLM。
  • 可擴展:LM Studio 支持大量 ggml 兼容模型,並且不斷添加新模型。
  • 開源:LM Studio 是開源的,這意味著您可以自由使用和修改它。

開始使用 LM Studio

要開始使用 LM Studio,您需要先下載並安裝桌面應用程序。您可以從 LM Studio 網站: https://lmstudio.ai/ 下載應用程序。

安裝應用程序後,您需要創建一個 Hugging Face 帳戶。如果您已經有帳戶,則可以直接登錄。如果您沒有帳戶,則需要註冊新帳戶。

登錄後,您將能夠瀏覽和搜索來自 Hugging Face 的所有 ggml 兼容模型。找到您要使用的模型後,您可以單擊“下載”按鈕將其下載到您的計算機。

下載模型後,您可以單擊“運行”按鈕開始使用它。LM Studio 將打開一個新窗口,您可以在其中配置模型參數並生成文本。

有關 LM Studio 的更多信息,請參閱 用戶指南: https://lmstudio.ai/docs

下載模型的位置

下載的本地端模型預設會放在C:\Users\{USER_NAME}\.cache\lm-studio\models

若想要改變儲存的位置,可選擇左列的資料夾,然後選擇Change,就可以改變預設儲存的資料夾囉

應用程式截圖

總結

LM Studio 是一個功能強大且易於使用的工具,可讓您探索和使用本地和開源的 LLM。如果您有興趣了解 LLM 或想使用它們來創建新應用程序,那麼 LM Studio 是值得一試的工具。

發佈日期:

ChatGPT / Bing / Bard / Claude指南

一、介紹人工智慧

這邊主要是在說明人工智慧演進的過程,其實人工智慧的概念第一時間是在1950年時,由圖靈所提出,定義為一個人透過鍵盤和另一個對象溝通,如果施測者無法分辨與之對話的對象是人還是機器的話, 這個機器就被認為擁有「智慧

但這個時候人工智慧的實作方式還比較以符號邏輯(類似統計學這樣以符號代表抽象的概念)為主,但很難清楚的釐清人類的思考邏輯。後來專家系統時代,人類會嘗試針對每個領域的知識去化作一條條的規則

但是,人類所能表達的,遠比人類所知道的少(博藍尼悖論),因此我們很難很完整的把我們所知道的化作規則或思考邏輯來打造人工智慧。

從2010年至今,我們進入的資料至上的時代,也就是我們開始直接丟資料給電腦,由電腦去歸納、找出電腦自己看得懂的規則,這也是為什麼ChatGPT等生成式AI的結果帶有部分的不可控、不可預測性。

了解AI的演進過程可以讓我們了解當我們要選擇AI技術時,可能可使用的選擇。雖然2010年後的機器學習技術能夠做到最廣泛的通用人工智能,但是若我們的需求範圍較為侷限,或者需要非常高的可解釋性、準確性時,仍然可以考慮符號邏輯或專家系統的方式來實做。

這些演進的歷程都是現在生成式AI能夠出現的重要基礎,每一代之間的關係不是淘汰,而是一層層的進化。

二、基礎模型帶來AI再一次的革命

在這邊我強調了在ChatGPT出現之前的AI應用,大多都用在中、大型企業內部或智能相關產品的應用。但是ChatGPT出現之後,AI從產業研發進入全民有感,並且掀起了非常大的AI風潮。

這是因為基礎模型的出現,所謂基礎模型就是類似ChatGPT這樣用途可以非常廣泛,並且可以透過詞嵌入的方式,以非常快速簡單的prompt方式,打造不同的產品。

例如下圖中的GitHub Copilot、智慧錄音卡、Notion AI、AI心理諮商,其實都是使用ChatGPT的模型,卻可以使用在多種非常不同的應用場景上(心理安慰、生活便利、程式開發等不同用途)

這樣的一個基礎模型的出現,帶來開發AI應用的革命性變革,過去,有些AI應用程式可能需要我花上六個月、甚至一年的時間來建立,現在許多團隊可能一週就能完成

以ChatGPT的自製一個聊天機器人為例,現在只需要上傳一些機器人需要知道的文件資料、並且使用對話的方式指導機器人該如何正確回應,就可以擁有一個專屬的客製對話機器人

三、生成式AI相關的應用

有興趣的可以自行去研究、了解現在AI可以做到那些事情

文本生成(LLM)

圖像生成 (text-to-image)

音樂 / 聲音生成

程式碼生成

四、多模態應用

基礎模型另一個強大之處,在於可以結合視覺、聽覺、文字的輸入,以及對不同型態輸入資料的交叉理解,能夠讓AI朝【通用型人工智慧】更加靠近

五、善用AI為生產力的新動能

特點/模型Bard(Google)ChatGPT (OpenAI)ChatGPT Plus (OpenAI)Bing (Microsoft)Claude (Anthropic)
上下文窗口長度(Token)32K4K8K8K100K
推理能力不錯最佳最佳不明不錯
網路連接功能原生支持網路搜尋無法讀取網頁需連至Bing取得網頁內容所有用戶可用的連接功能無法讀取網頁
多模態能力支持文字、圖像、語音輸入支持圖像、語音及文字輸入,以及圖像、文字、檔案輸出支持文字輸入,圖像、文字輸出支持PDF等檔案的文字讀取
建議用途圖像辨識初次接觸者皆可資訊搜尋長文PDF摘要
費用免費免費每月$20美金免費免費
主要用途研究、資料分析、聊天程式碼開發、聊天多模態及與其他服務的串接應用網路搜尋、聊天研究、分析

AI成為生產力的新動能,用戶在人工智慧輔助下完成工作的效率要高得多

發佈日期:

OpenAI Playground介紹

什麼是OpenAI Playground

教學文件:

https://platform.openai.com/docs/overview

OpenAI Playground(OpenAI 遊樂場)是OpenAI提供的一個線上平台,用於演示和測試他們的自然語言處理模型,例如GPT-3.5(本模型的基礎)。它允許用戶與模型進行互動,輸入文本並獲得模型的自動回應,以便演示其自然語言處理能力

OpenAI Playground通常用於展示GPT-3及其他相關模型的功能,並讓開發者和研究人員評估這些模型的效能以及探索其應用潛力。用戶可以在Playground上提出各種問題,構建對話,生成文字,從而了解模型如何處理不同的輸入。

此外,OpenAI Playground也提供一個用戶友好的界面,讓用戶可以輕鬆嘗試GPT-3及相關模型的能力,而無需自行設定或編程。這對於探索自然語言處理的應用,以及將這些模型集成到不同的應用中都非常有用。

在OpenAI Playground體驗與模型的互動

Playground 的完整版介面,可以提供各種模式和參數,通過調整無數其他可自定義選項來增強用戶體驗。在對話框的部分也可以使用語音輸入,或者上傳既有的語音檔,使用OpenAI語音轉文字的功能提供資料給Playground

下面是這個介面的一些功能

  1. 輸入現有文本供AI編輯:輸入一段現有的文本,然後要求模型對其進行編輯、修改或擴展。這讓您可以看到模型如何處理和改進您提供的文本,並且可以用於文本編輯和生成的場景。
  2. 使用溫度控制響應的隨機性: 溫度控制是一個重要的參數,它允許您調整模型生成文本的隨機性。較高的溫度值將增加生成文本的隨機性,而較低的溫度值將使生成文本更加確定和一致。這使得用戶可以根據需要調整生成文本的多樣性。
  3. 調整頻率以控制其相應的重複程度: 您可以使用不同的方法來調整生成文本中重複內容的頻率。這可以通過調整模型的參數來實現,以使生成的文本在某些情況下更具多樣性,或者在其他情況下更加一致。這樣,您可以根據具體的應用需求來調整生成文本的重複性。

這些功能和選項使用戶可以更好地控制模型的生成行為,以滿足不同的用例和需求。這使得OpenAI Playground成為一個有用的工具,用於測試、探索和改進自然語言處理應用,並理解模型的行為。

使用OpenAI語音轉文字功能

切到完整功能並且按麥克風的圖案,就可以上傳語音檔案,並使用Whisper轉成文字,這個功能已經開源了

OpenAI Playground的核心特性

支持多種型號的模型

OpenAI API 由具有不同功能和價格點的多種模型提供支援。您也可以透過微調,針對您的特定用例對我們的模型進行客製化

MODELDESCRIPTION
GPT-4 and GPT-4 Turbo一組改進 GPT-3.5 的模型,可以理解並產生自然語言或程式碼
GPT-3.5一組改進 GPT-3 的模型,可以理解並產生自然語言或程式碼
DALL·E
可以在自然語言提示下產生和編輯圖像的模型
TTS一組可以將文字轉換為聽起來自然的語音的模型
Whisper可以將音訊轉換為文字的模型
Embeddings一組可以將文字轉換為數字形式的模型
Moderation可以偵測文字是否敏感或不安全的微調模型
GPT base一組無需遵循指令即可理解並產生自然語言或程式碼的模型
Deprecated已棄用的型號的完整清單以及建議的替代品

我們也發布了開源模型,包括 Point-EWhisperJukeboxCLIP.

發佈日期:

免程式碼將ChatGPT串接到LINE對話

使用工具 – FancyAI

FancyAI網址: https://www.fancyai.co/

可輕鬆使用GPT大語言模型知識庫,介面化匯入文件(PDF, CSV, TXT)或網址,讓FANCY AI迅速掌握您的知識進行問答。只需30秒,即可與LINE官方帳號整合,建立分享知識Bot連結。更有視覺化的工作流程編排和對話紀錄功能!

AI大模型問答介面,可設定你專屬AI回答流程

FANCY AI 能力

  • AI ChatGPT知識客服: 結合你自己專屬知識,ChatGPT 24/7 的為您的用戶服務
  • 超快速精準匯入處理:自動分段,輸入,拆成問答,多種方式讓您處理的數據 (支持PDF,CSV,TXT,網址)
  • 簡單直覺操作AI大模型問答介面:讓你設定你專屬AI回答流程,可以自訂預設開場白,選擇性問題,個性化你的AI
  • 30秒串接好LINE官方帳號,分享連結:結合你的知識庫,LINE官方帳號直接用ChatGPT不間斷服務。

步驟一、創建OpenAI開發者使用的密鑰

首先要去你的OpenAI開發者平台,創建你的API Keys: https://platform.openai.com/api-keys。這樣其他應用程式才可以呼叫你的OpenAI帳號下的API(然後扣你的錢)

接著就是要付款給OpenAI,點此付款: https://platform.openai.com/account/billing/overview。單次可購買$5~$95美金(也就是最低約150左右)

OpenAI的API使用需要付費,價格資訊如下: https://openai.com/pricing

由上圖可知道,OpenAI的API計費單位為Token,下面會解釋甚麼叫做Token,也可以線上去測試某段文字的Token數量是多少,可以更精準地了解可能的花費。

可選擇模型的比較

甚麼是Token

在 API 處理提示之前,輸入會被分解為Tokens 。這些Tokens並未準確地在單字開始或結束的位置進行切割 – Tokens可以包含尾隨空格甚至子單字。

以下是一些幫助理解Token長度的有用經驗規則:

  • 1 個標記 ~= 4 個英文字符
  • 1 個令牌 ~= 3/4 個單字
  • 100 個標記 ~= 75 個單字
  • 1-2 句 ~= 30 個標記
  • 1 段 ~= 100 個標記
  • 1,500 個單字 ~= 2048 個標記

Token切割測試工具: https://platform.openai.com/tokenizer

步驟二、創建Line Bot帳號並為串接做準備

首先要申請一個Line API串接的開發者帳號: https://developers.line.biz/console/

創建帳號流程如下:

設定你的LINE BOT帳號為使用Webhook

接著這邊是在分享時未設定的部分,就是把預設的固定回復關掉,開啟 LINE Official Account Manager

打開Webhook並且關閉自動回應訊息,這樣所收到的訊息才會傳到我們的API裡面

步驟三、創建FancyAI帳號

創建帳號之後,首先要把帳號和你的OpenAI綁定,點OpenAI帳號後,把剛剛第一步驟創建的Key貼進去,這樣FancyAI才能夠呼叫你的OpenAI API

Fancy AI: https://www.fancyai.co/

新建一個應用,選擇簡單對話

設定與Line的串接 – 設定API秘鑰

Line Channel Access Token: 瀏覽剛剛創建的Line帳號的頁面MessageAPI -> Channel access token -> Issue將出現的字串複製進去

Line Channel Secret位於Basic settings下方

接著告訴Line要API的webhook位置: 選擇”應用>你的應用名字>Line API”

把這邊的webhook網址貼到剛剛LINE Developer的webhook設定位置

接著就可以測試你的機器人囉!!