這邊第一部分跟第七天是相同的,放這邊只是為了讓其他人對整個流程有更好的了解。
另外假如裡面有任何錯誤的話也請拜託馬上通知我。
這部分還會持續的修改,目前大致上是這樣。
運行大型語言模型(LLMs)可能會因為硬體要求高而變得困難。根據您的使用案例,您可以選擇通過API(如GPT-4)使用模型,或者在本地運行它。以下是一步一步的指南,幫助您開始運行LLMs。
相關的 deeplearning.ai短課程:
APIs 是部署 LLMs 的便捷方式。以下是如何使用一些常見的私有和開源 LLM APIs。
選擇 LLM API 提供商
註冊並獲取 API Key
使用 API 進行請求
import openai
openai.api_key = 'your-api-key-here'
response = openai.Completion.create(
engine="text-davinci-003",
prompt="Hello, world!",
max_tokens=50
)
print(response.choices[0].text.strip())
如果您希望在本地運行開源 LLMs,可以按照以下步驟進行。
選擇開源 LLM
使用 LM Studio 和同類型應用在本地運行模型
安裝 LM Studio。
選擇一個模型並下載,然後使用 LM Studio 運行。
參考 Run an LLM locally with LM Studio by Nisha Arya 的指南。
另一個選擇是 AnythingLLM : 相關教學
[推薦]適合搭配 python, RAG 開發的 Ollama : 相關教學
可以跟上面那個一樣使用CLI 操作的 llama.cpp
使用 Hugging Face 的 Transformer
transformers
庫:
pip install transformers
from transformers import pipeline
generator = pipeline('text-generation', model='gpt2')
response = generator("Hello, world!", max_length=50)
print(response[0]['generated_text'])
優化提示可以大大改善 LLM 的輸出效果。以下是一些常見的提示工程技術。
零提示詞(Zero-shot)
prompt = "What is the capital of France?"
少量提示詞(Few-shot)
prompt = "Translate the following English sentences to French:\n\n1. Hello, how are you? -> Bonjour, comment ça va?\n2. What is your name? -> Comment tu t'appelles?\n3. Where is the nearest restaurant? -> Où est le restaurant le plus proche?\n4. How much does this cost? -> Combien ça coûte?"
思維鏈(Chain of Thought)與 ReAct
prompt = "First, let's consider the problem step by step. What is 5 plus 3? Then, what is the result multiplied by 2?"
相關學習資源
許多任務需要結構化的輸出,如嚴格的模板或JSON格式。以下是一些工具和方法。
使用 LMQL 指導生成
使用 Outlines 庫
相關學習資源
創建向量儲存是建立檢索增強生成(Retrieval Augmented Generation,簡稱RAG)流程的第一步。文件被加載、拆分,並使用相關的片段來產生向量表示(嵌入),這些向量表示將被存儲以便在推理過程中使用。
相關的 deeplearning.ai短課程:
借助 RAG,LLMs 可以從資料庫中檢索上下文文檔,以提高答案的準確性。RAG 是一種無需任何微調即可增強模型知識的流行方法。
現實應用程式可能需要複雜的管道,包括 SQL 或圖形資料庫,以及自動選擇相關工具和 API。這些先進技術可以改進基準解決方案並提供附加功能。
相關的 deeplearning.ai短課程:
- Advanced Retrieval for AI with Chroma:這門課程專注於高級信息檢索技術,尤其是在使用大語言模型(LLM)和向量數據庫時的應用。課程涵蓋的主題包括查詢擴展、交叉編碼重排序,以及通過嵌入適配器來改進檢索結果。
- Multi AI Agent Systems with crewAI:這門課程專注於多AI代理系統(Multi-AI Agent Systems),使用CREW AI工具進行開發和協作。課程內容涵蓋如何設計和管理多個AI代理之間的交互,並通過協同工作來完成複雜任務。
文本生成是一個成本高昂的過程,需要昂貴的硬體設備。除了量化之外,還有各種技術被提出以最大化吞吐量並降低推論成本。
在大規模部署大型語言模型(LLMs)是一項工程壯舉,可能需要多個GPU集群。在其他情景下,演示和本地應用可以更簡單的實現運作。
相關的 deeplearning.ai短課程:
- Serverless LLM apps with Amazon Bedrock:主要內容是使用AWS部署一個LLM app
- Building Generative AI Applications with Gradio:這門課程教授如何使用Gradio平台來構建生成式AI應用。課程內容包括如何設計和構建交互式的AI界面,讓用戶能夠輕鬆地與生成式AI模型進行互動。
除了與軟體相關的傳統安全問題外,由於訓練和提示的方式,大型語言模型(LLMs)還有特定的弱點。
相關的 deeplearning.ai短課程:
- Red Teaming LLM Applications:這門課程教授如何進行紅隊測試(Red Teaming),以評估和改進大型語言模型(LLM)應用的安全性和可靠性。
📚 References:
其他的deeplearning.ai短課程: