跳到主要內容

發表文章

目前顯示的是 6月, 2023的文章

【LLM大型語言模型】 淺談生成式AI的缺陷

     圖片來源  雖然ChatGPT這種基於大型語言模型(LLM)的助手, 在大部分的場景都能滿足我們的需求, 但也並非完美, 在使用時仍需注意一些隱患。 以下是LLM的一些缺陷及需要注意的點。 弱弱的數學造成明顯錯誤    過份樂觀帶來錯誤資訊 相信常常使用ChatGPT的朋友應該都有發現到, 不論我們怎麼提問, ChatGPT都能給我們答案, 而這些答案事實上未必精確, 甚至無從查證。 胡思亂想導致偏差 為什麼LLM總能給我們答案呢? 主要是這種生成式的大型語言模型會基於訓練資料進行統計, 得出機率較大的路徑, 但所謂的機率較大並非正確事實, 也有機率給出錯誤的方向, 才會有胡思亂想的發生, 因為我們期望回答A, 但它未必與我們的理解一致, 因此可能給出答案B並添加於A之上, 導致胡思亂想的狀況發生。 偏見引發歧視 即使有安全防護措施,他們有時也會生成性別歧視/種族歧視/同性戀歧視的內容, 開發面對消費者的應用時務必非常小心, 否則造成負面觀感將導致不可收拾的後果。 結語 一開始我們總被LLM的亮點給吸引了, 卻忽略掉背後的缺陷, 而這些缺陷可能在不知不覺中傷害的他人, 因此我們不能完全相信LLM的回答, 而是必須要有自己的獨立思考能力。 底下是幾個相關的主題: ● 【時事觀點】 LLM大型語言的幻覺可助長惡意套件散布 ● Avoiding hallucinations in LLM ● AI才是真正的「理中客」?大哉問解答,人工智慧如何思考電動車環保與燃油車消滅的難題?(OpenAI, GTP-3, chatGPT)

【Message Queue - RabbitMQ】訊息的如何插隊?(Priority)

  圖片來源 雖然我們的一般的狀況下我們都希望訊息能夠按照順序被處理, 但有時候我們仍希望某些重要的訊息能夠優先被處理,也就是插隊的概念,正好RabbitMQ也有提供這樣需求的解決方案,以下是需要知道的幾個重點。 宣告Queue的時候必須要設定 x-max-priority, 通常10就夠用了。 數字越大優先序越高。 一般不要設定太大,因為這算是特殊狀況,正常狀況下應該照順序來處理。 沒有指定優先序的訊息會預設為0。 生產端發送的訊息優先序若超過配置的最大值,則會以最大值做為優先序的標示。 配置範例 這邊會以管理界面作為範例, 其他配置方式則大同小異, 可以參考官方文件。 首先進到管理界面的Queues,並加入新的Queue,並配置優先序最大號碼為20。 參數的欄位填上: x-max-priority:20 。 型態記得要選number。 圖片來源 配置完我們的Queue會有Pri的標記。 接著我們將Queue綁定到交換機上。 圖片來源 開始進行實驗 實驗方向:依照訊息重要程度分為1~20個號碼, 雖然我們先送出一個19號的訊息,再送出20號的訊息,但正確堆積在佇列的訊息應該要確保20號的訊息優先於19號。 Producer端會送出1、5、3、20的訊息。 (async () => { const conn = require("amqplib").connect( "amqp://test:test@127.0.0.1:5672/test" ); const channel = await (await conn).createChannel(); const priorityNums = [1, 5, 3, 20]; const routingKey = "priority"; const exchange = "qa_exchange_direct"; for (let i = 0; i < priorityNums.length; i++) { const priority = priorityNums[i]; const msg = `Priority_${priority}`; channel.publi