[研討會筆記] Made by Google 一些雜記

在 20240814 凌晨有 Made by Google 的線上發表會,這裡快速記錄一些資訊。

手機相關功能

連接 YouTube 的 RAG

image-20240814130417331

直接問說影片裡面主角吃了什麼食物?後來就全部列下來。

預設電話筆記

Google Chrome 2024-08-14 12.52.23

  • 全程語音 STT 記錄下來
  • 資料放手機端
  • 不過應該還是會有隱私的問題。

Make you look

image-20240814131558885

拍小朋友照片,總是難以抓到小孩注意力。

這個小功能很聰明誒~我很喜歡。

一些心得

Google 也在自己手機加上了 on-device LLM ,首先看到幾個不錯的應用。

  • 電話筆記本真的很實用,不過會不會有隱私問題,我也很好奇就是。
  • 連接 YT 的 RAG 詢問,感覺會是需要付費的功能。(Gemini Advance)

期待著九月 iPhone 發表會會有什麼應對?

相關資料:

Google 舉辦了年度 Made By Google 發表會,推出了 Pixel 9 系列手機、Pixel Watch 3 手錶和 Pixel Buds Pro 2 耳機,並整合了 Gemini AI 技術。

重點:

  • Gemini Live 語音對話功能上線: 允許用戶與 Gemini AI 進行自然語音對話,並選擇回應的聲音。目前僅支援英語,提供給 Gemini Advanced 訂閱用戶。
  • Pixel 9 系列手機: 搭載 Tensor G4 晶片,支援多項 AI 功能,包括 Pixel Weather、Call Notes、Pixel Screenshots、Pixel Studio 等。攝錄功能也升級,新增 Add Me、Made You Look 和 Magic Editor 等 AI 功能。
  • Pixel 9 Pro Fold: 首次推出摺疊螢幕手機,搭載 16GB 記憶體,具備 Pixel Pro Camera。
  • Pixel Watch 3: 延續經典圓弧造型,新增 Lost of Pulse Detection 功能,可偵測用戶脈搏並緊急通報。
  • Pixel Buds Pro 2: 搭載 Tensor A1 晶片,體積更小、重量更輕,ANC 降噪功能更強,並支援 Gemini 語音助理。

總體而言,Google 在這次發表會上展示了其在 AI 和硬體方面的最新進展,並強調了 Gemini AI 在各項產品中的

[好書分享] 馬斯克傳:唯一不設限、全公開傳記

馬斯克傳:唯一不設限、全公開傳記
Elon Musk
 共 138 人評分
作者: 華特.艾薩克森  原文作者: Walter Isaacson  譯者: 吳凱琳  出版社:天下雜誌出版 

買書推薦網址:

前言:

這是 2024 年第 9 本讀完的書。這本在當初要出刊的時候就相當的轟動,但是實際看到實體書之後,應該也會不少人會被勸退。 但是其實書籍本身還是蠻有趣的,蠻推薦大家可以看一下。

內容摘要:

馬斯克唯一不設限、全公開傳記
權威傳記作家艾薩克森重磅力作

兩年深度跟訪,解密全世界最令人好奇,也最具爭議性的創新者——
是狂人還是造勢天才?是破壞者還是創新者?是混蛋還是英雄?
想要了解最真實的馬斯克,只能透過這本書!

★第一視角觀察馬斯克獨有的英雄模式與惡魔模式
★深入解讀馬斯克旗下六大事業的商業與創新策略
★揭露AI、自動駕駛、太空探險三大尖端科技趨勢

「不管你喜歡與否,我們都生活在馬斯克創造的世界裡。」—《時代》

馬斯克引領世界進入電動車時代、開發私人太空探險、嚴肅想像人工智慧,他改變了三大關鍵產業,也改變了我們的未來。喔,他還買下了推特。

他是打破常規的夢想家,沒有開不出的路徑,沒有打不破的框架,沒有丟不掉的包袱。對風險,不但冷靜計算,更熱情擁抱,冒險不設限。當其他企業家在發展世界觀時,馬斯克已在構建他的宇宙觀。

比任何科幻小說都更精采的傳奇人生,他旗下的每一個事業:特斯拉、SpaceX 與星鏈、X(原為推特)、鑽孔公司、Neuralink、xAI,都在改寫歷史。未來,他會如何進一步改變科技世界﹖

《賈伯斯傳》作者、最能捕捉天才腦中靈光的艾薩克森,跟隨馬斯克長達兩年,跟他一起開會、走訪工廠,採訪馬斯克本人、他的家人、朋友、同事和對手,寫出這部考證詳實、藏著驚人內幕的人生故事。寫作過程中,馬斯克從不掌控內容走向,也不要求在出版前先看過,甚至鼓勵他的對手、前員工跟作者談一談。

艾薩克森精闢描述馬斯克的成功與風暴,也探討了一個問題:驅動馬斯克的惡魔,是否也是創新和進步的推手?

馬斯克的成功無法複製,沒人能像他那樣。但他在成長、創新、創業歷程中的有效方法,值得你一讀。

投影片

https://gamma.app/docs/-4rx3tbi4xovhgkk

image-20240813185124640

心得:

當初看這本書,原本就是一個很欣賞 Musk 在許多層面的成就。但是對他的過往與相關成就又沒有那麼的熟悉,於是買了這本書來看。本來想說這一本書可能會看很久(因為真的很厚一本,就算用電子書來看,也是覺得看了很久)。但是其實整本書及說明了許多階段的馬斯克的過往,讓人很容易沈浸其中。

我覺得他的個性跟他得成長環境有相當大的關係,當然也跟他天生下來個性也有關。

image-20240815213408533

雖然大家都說馬斯克是暴君,是一個喜怒無常的人。(類似的形容詞好像也有出現在 Jobs 身上)但是比起 Jobs 是一個超級的產品經理加上銷售人員。 Musk 就像是超級工程師加上極度會節省成本的老闆。

image-20240815213314272

當然講到作為一個老闆,大家都對於馬斯克頗受爭議的一些作為跟思維有關,以下也整理一些。

image-20240815213525179

這本當然有提到 Tesla, SpaceX 甚至到了近期的 Twitter 購併跟 Neuralink 。這邊稍微提一下 Neuralink 的目標。

image-20240816125104596

為什麼馬斯克那麼的獨特? 而且為什麼他願意做這樣的事情,我們不知道,但是能夠像他這樣每次都把自己手上所有身家都壓下去,並且全心下去做的企業家,至今真的很少。 在 TED 的主持人就有問他這樣的問題,為什麼你願意把自己身家都放在一個全新的領域。是否有一些比較好的訣竅?

image-20240816124926360

馬斯克則拿出他的思考邏輯,試著去思考基礎的真理。不要去想著人家告訴你們怎麼做,或是原有的規範與流程。透過相關的思考,可以將許多重大事情的成本加以大幅度地降低,或是將許多困難的事情重新的去思考與測試。

image-20240816125452931

這件事情相當的重要,我想也是這本書籍一個很推薦大家去了解的點。

許多事情的作法上,永遠存在兩種以上的方向。一個是最輕鬆的,另外一個需要不斷地思考與測試才能看到的正確道路。
當你選擇最輕鬆的那一條路,往往那是得不到成功(或許是拒絕或是放棄)。
試著再思考一次,從物理邏輯上去重新思考。

真的很推薦大家去看這本書。

相關資料:

[好書分享] 異類矽谷-老派矽谷工程師不正經的深度田野踏查

異類矽谷
老派矽谷工程師不正經的深度田野踏查
作者: 鱸魚  出版社:時報出版 

買書推薦網址:

前言:

這是 2024 年第 8 本讀完的書。還記得當初畢業的第一份工作,找了一個美商公司去上班。(老闆其實是台灣人)然後上班第一個月也很幸運(?)就被派去矽谷出差一個多月(我記得是 50 多天),那一段時間的工作體驗也相當的特別。後來有其他機會去矽谷參加研討會,也有機會看到不同得面貌。這一本書就讓我蠻有感觸的。

內容摘要:

矽谷不是地名,是文化。
 
在白人只占三成而且其中很多都不是美國人、半數工程師是印度人的矽谷,沒人在乎口音也不講究排場,全公司上下包括CEO都穿牛仔褲,「正式」不過是把T恤換成襯衫。
 
矽谷人從不羨慕別人開什麼車,畢竟沒人會羨慕別人穿什麼襪子,講究的人根本不買車,沒車最酷最環保。新一代工程師甚至沒人抽菸,因為那太落伍。
 
◎最精準的矽谷直送
 
矽谷不喜歡也不浪費時間在繁文縟節,開會只想聽真問題並找到解決方案。在這裡,有司機並不比當Uber司機光榮。若要求矽谷CEO為了尊榮感放棄隱私,那將是種羞辱。
 
來自全世界的矽漂族共同打造了矽谷,這裡追求的不是明天會更好,而是明天「一定要」更好,以最高效率打造個人和企業價值,卻也大方犒賞、無情淘汰,既勢利又誠實。

####

投影片

image-20240802144706975

https://gamma.app/docs/jqvjlzehglge9p0?following_id=jehro1dlnujeazj&follow_on_start=true

心得:

這本書相當有趣的敘述了矽谷生活的許多大小事情,裡面提到的關於印度人的讓我印象很深刻。

「矽谷早已不在乎口音
上面舉的這些字是我工作上每天都會面對的。折磨了二十多年,每次都從困惑到試圖解碼,最後不了了之,因為對話早已結束,也造就了我學會深度敷衍的技巧。這是在矽谷工作必須承受的另類職業傷害,保險絕不給付。
然而,矽谷在乎的是說話的內容,不是口音。當很多華人工程師的英文寫作還在「沒有錯」的邊緣掙扎,印度人的英文寫作早已超越了美國人,用字與表達無不精準有力。
矽谷在乎的是內容,這也是為什麼印度人能夠蜂擁進入高階主管群,華人在這方面連車尾燈都看不到。」

還有最近一次去就是 2019 年去參加 Google I/O ,那一次去尋找飯店的時候就聽到同行的友人有人在看的飯店,評論竟然是停車場容易有毒品交易,這也是讓我相當的驚訝。

這本詳細敘述了在矽谷的工程師,其實不一定是人人欽羨的工作。高待遇帶來的高度壓力,並且住宿品質也沒有其他區域好。卻要付出更多的住宿費用與交通時間。這些問題雖然在疫情之後應該有了極大的改善,但是聽說又帶來新的一波遊民問題。因為過多的外來勞工與遠端工作的人,許多原本在矽谷定居的人失去了工作機會。

近期的矽谷除了遊民問題外,還有 2020 開始的野火問題。也讓矽谷的人經常處於不好的空氣環境。

image-20240801230243234

在舊金山灣區的北灣,有著大家最熟悉的景色。 XP 的桌布畫面。

[好書分享] 歷史,就是戰

歷史,就是戰
黑貓老師帶你趣解人性、權謀與局勢
作者: 黑貓老師  
插畫: 魔魔嘎嘎  
出版社:圓神出版 
出版日期: 2018/01/01

買書推薦網址:

前言:

這是 2024 年第 7 本讀完的書。這一系列的歷史小品書,都是我拿來當作休閒用的閱讀書籍。加上看起來有不少有趣的插畫跟不錯的小故事。就買了下來。

內容摘要:

狂人的心機謀略X戰場上的超展開 
妙讀歷史,秒懂國際間的爾虞我詐
有這麼多人想要征服世界,但是從來沒成功過!
看看我們的世界,到底是怎麼被這些人搞成這樣的!ヽ(`Д´)ノ

第一本用鄉民語言專業撰寫,讀歷史不再頭昏腦脹,而是笑得精神抖擻!讓人不禁吶喊,當年我的歷史老師這麼教就好了!
★(O_ O)打破本國和世界史的界線,跳脫的縱線學習,結合地理概念,縱貫交叉,帶出新史觀
★(゚∀。)用看故事的方式趣讀歷史,從熱戰到冷戰,全盤了解影響世界局勢的10大重要戰爭
★( ´ω`? )旁徵博引各種有趣的豆知識,讓你的歷史戰鬥力大爆發,程度再升級
★(゚Д゚)搞懂鬥氣鬥智、縱橫沙場、老謀深算的那些大人物到底在打什麼謀略的算盤

心得:

這一本書敘述了近一兩百年最重要的一些戰役,透過生動有趣的口吻,讓大家知道其實許多的戰爭由來,並且如何分析相關的因果關係。比如說第一次世界大戰,就是野心勃勃的德國,遇上相關爭議所引發的。但是第一次世界大戰的賠償卻也是引發第二次世界大戰的導火線。 相關的戰略要素跟幾個重大的戰役,也都用很幽默的口吻跟有趣的史實來分享。

後續的侵華戰爭,加上國共內戰也是敘述得很精彩。真的讓人可以看得出來人類的歷史真的就是一個戰。但是身為讀者的我們,要了解戰爭不是只是表面上的相關意象,更不是幾個人的意氣之爭。往往在許多國家的利益糾葛,與許多的歷史因素交織而成。這一本書真的可以讓人在輕鬆的心情下來吸收相關的知識。

[好書分享] 弘兼憲史上班族基本數字力

image-20240730214104863

弘兼憲史上班族基本數字力

買書推薦網址:

  • Readmoo: 下架了

前言:

這是 2024 年第 6 本讀完的書。 當初看到作者就買了,本來想說可以補充相關知識的。

內容摘要:

你知道薪資明細表裡的機關嗎?

  「成本」究竟是什麼?

  貨物賣得多,錢就賺得多嗎?

  上班族不可缺乏的基本數字力,數字力強,工作才能做得好。

◆只要數字概念強,你就能成為工作能力佳的上班族!

  不論職場菜鳥或老鳥,不管是什麼樣的工作,多少都會接觸到和數字相關的業務內容。舉凡產品成本估算、定價;個人薪資所得;產業景氣循環;企業經營分析、償債能力等,都是身為優秀上班族,不可不知的超基本常識。

  像是新聞報導常見的「景氣動向指標」,它是根據對景氣的變動敏感的幾項指標組合而成,其中指標可分為「領先指標」、「同步指標」、「落後指標」三種。由於組合了多項指標,可對景氣的狀況做出綜合性的判斷與預測,得知目前景氣好或壞,決定公司因應的各項策略。

  另外,經營分析經常用在調查企業的往來對象上,但除此之外也有其他用途。例如,要投資股票時,必須先得知投資標的那家公司的狀況。因此,經營分析相當有用。如果先學會經營分析,也會變成能夠更深入理解新聞媒體報導關於企業的事。

  諸如此類,上班族必備的基本數字力,包含面對個人、產品、市場、企業、商業等各領域的業務。本書提出各類數字的計算由來,運用的方法,讓你輕鬆掌握關鍵數字,解決問題無往不利。

心得:

弘兼憲史一直是我很喜歡的漫畫家,他最有名的就是「課長-島耕作 」。裡面除了有日本上班族的心路歷程外,最重要的就是針對日本企業各種文化的考究與整理。 這一本也是,整理了很多相關的基本知識。 但是隨著有在投資股票,許多的基本相關財務報表的基本概念也就出現了。 因為有一些財報的分析,能夠了解裡面的基本原因,經常聽著財經號角跟股癌也讓我基本知識有一些些的進步。(當然賠錢賠得多,學得最多)。

不過這一本比較基本,如果有基本企業概論或是經濟學概念的人,或許就不需要閱讀了。

[Gemma] 用 GEMMA/LLAMA 這類 Local Model 打造更安全與具有隱私概念的 LINE ChatBot

卡通風格,一個聊天機器人同時握手 Alpaca  跟 大企業穿著西裝的上班族 。三個人一起握手

前言

LLM 的盛行之後,我們可以看到許多開發者將 LLM 整入到自己的聊天機器人 (LINE ChatBot) 之中。但是隨著而來也有不同的考量開始出現。讓許多開發者感到困擾,該如何更有經濟效益,並且更安全合法規的方式來使用 LINE Chatbot。

自從 LLAMA 等開源模型發展後,我們可以看到市面上有許多相關的開源模型。 LLAMA, Gemma, Phi3 等等,甚至有許多模型是可以在自己本地端的電腦中使用的。本篇文章將介紹這一類型的 Local Model 究竟能如何跟 LINE Bot 去整合,,並且提供一些範例程式碼作為 LINE Bot 的範例。

相關程式碼

關於 LINE Bot 相關程式碼,可以參考這一段。這邊使用 Groq 的 API 服務

https://github.com/kkdai/linebot-gemma

Gemma/LLAMA 這一類的模型該如何部署

不論是 Gemma 還是 LLAMA 這一類可以部署在本地電腦(或是自己的雲端伺服器裡面的),在本文中都先暫且稱為 Local Model 。 他的基本 Prediction 的精準度,在於你提供的本地機器的算力。

筆電使用上 可以考慮使用 Ollama

ollama-webui · GitHub

Ollama 是一個跨平台很好使用 LLM 的本地端工具,可以在本地端的電腦去使用 Llama3, Phi 3, Mistral, Gemma2 等等本地端的模型。使用跟安裝也相當簡單,基本上現在只要是 M1 或是 M2 的 Mac Book 就可以很輕鬆地跑起相關的服務。

GCP / Vertex AI 上面要部署這些模型

img

可以透過 Vertex AI 的服務來部署

但是需要申請伺服器單位如列表

Gemma / Gemma2 PaliGemma
Machine type: ct5lp-hightpu-4t Accelerator
type: TPU_V5_LITEPOD
Accelerator count: 4
- Machine type: g2-standard-16
- Accelerator type: NVIDIA_L4
- Accelerator count: 1

不過要注意這些單位需要申請,因為筆者還沒有申請下來本文將使用 Groq 來示範。 (2024/07/19)

透過 LPU API Services - Groq 來使用 Gemma2

image-20240725011545782

不得不說 Groq 真的很快,而且目前也都還有免費額度可以使用 API 來呼叫。這邊也放上最簡的程式碼來呼叫 Gemma2-9B

# Default
import os

from groq import Groq

client = Groq(
    # This is the default and can be omitted
    api_key=os.environ.get("GROQ_API_KEY"),
)

chat_completion = client.chat.completions.create(
    messages=[
        {
            "role": "system",
            "content": "you are a helpful assistant."
        },
        {
            "role": "user",
            "content": "Explain the importance of fast language models",
        }
    ],
    model="gemma2-9b-it",
)

print(chat_completion.choices[0].message.content)

如何跟 LINE Chatbot 可以有完美的結合?

Gemma 與 LLAMA 這種本地端模型有哪些優勢?

卡通風格, 個人資料的保護者,

個人隱私的去除

雖然說, OpenAI, Azure 甚至是 GCP 都有明令說 API Level 的資料是不可以拿來訓練的。但是根據許多個人資料保護法來說,最重要的就是不能隨便地將客戶的個人資料直接交給第三方的服務。 通常這一類型的服務被稱為 Personal Identifiable Information (PII) Redactor (PIID)。當然市面上有許多根據 REGEX 打造出來的 Redactor ,但是使用 LLM 可以很有效地去除。也能避免掉許多各種逃逸字元造成 REGEX 失敗的案例。

這時候就可以透過這一類的 local model 來將個人資料做拔除, 以下做一些簡單的 Code Sample

remove_personal_prompt = '''
Replace personal information, name with someone, address, ID number, bank account, etc. 
Just give me the modified original text, don't reply to me.
------\n
'''

這一段是移除個人資料的 prompt ,透過 LLM 可以很輕鬆的移除掉個人資料。 但是以往這件事情,如果是透過 Gemini 或是 OpenAI 的 API 來實作的話。那麼相關的資料流程會需要經過相關單位的資料審核,但是如果這個模型是透過本地端模型,就沒有這樣的困擾。

    msg = event.message.text
    
    # 透過本地端 LLM 來處理可能含有個人隱私的資訊。
    safe_ret = generate_local_llm_result(f'{remove_personal_prompt}, {msg}')
    
    # 比較安全的內容在傳遞到遠端的 LLM 來生成內容
    ret = generate_gemini_text_complete(f'{safe_ret}, reply in zh-TW:')
    reply_msg = TextSendMessage(text=ret.text)
    await line_bot_api.reply_message(
        event.reply_token,
        reply_msg
    )

這時候使用者雖然在不經意的狀況下,輸入資料到聊天視窗。但是因為透過了 generate_local_llm_result() ,會將裡面有個人資料的文字在本地端的模型(Gemma or LLAMA) 去除後,就可以將需求傳到外部的大型語言模型去進行接下來的相關處理。

測試結果範例(示意圖):

image-20240725100415967

根據這個範例,你可以看到使用者可能在無意間將自己的個人資訊(包括了信用卡帳號,銀行帳號)加入他詢問的問題中。這時候如果直接將使用者文字傳遞給第三方的 LLM ,在許多國家的資安控管上都是不合規訂的。 這時候要透過 local LLM 將原本資料去修改,將個人資料修改或是遮蓋後才能傳遞給第三方 LLM 。

相關程式碼: https://github.com/kkdai/linebot-gemma

判別是否需要 LLM 的協助

卡通風格, 一個機器人總機人員

聊天機器人搭配著 LLM 是一個強大的應用。但是如果每一句每一個訊息都傳遞到 LLM 那麼也太沒有效率了, 許多聊天機器人的開發人員都會了這個方法苦惱中。以往的方式可能用一些特殊的 prefix 來處理,但是這樣的處理方式相當的不友善也讓人好像回到 LLM 時代之前。

image-20240722205407728

就像是客服也不需要參與所有的對話,有些時候一些聊天的對話其實也不需要傳遞給 LLM 。這時候可以透過本地端的模型來幫助你。由於本地端的模型,可以透過比較小的模型,來讓成本整個降低。(並且小成本可以做出簡單的判斷)。

need_bot_prompt = '''
Check the following text to see if it requires customer service assistance. 
Just answer YES/NO
------\n
'''

以上是讓本地端的小模型,讓他來幫你判斷的 prompt。主要是判斷是否需要客服的協助(如果你打造的是客服聊天機器人)。這時候即便是小模型,也可以很快速的回覆 YES / NO 。 以下提供整段的判斷程式碼。

# 處理在群組內的訊息,有時候可能訊息不是對 LINE Bot。
if event.source.type == "group":
    msg = event.message.text
    
    # 使用本地端模型來判斷是否需要 LLM 
    determine_ret = generate_local_llm_result(f'{need_bot_prompt}, {msg}')

    # 檢查判斷的結果,如果是 YES 就直接將原文送到 LLM 。
    if "YES" in determine_ret:
        # Pass to LLM to process original request.
        ret = generate_gemini_text_complete(f'{msg}, reply in zh-TW:')
        reply_msg = TextSendMessage(text=ret.text)
        await line_bot_api.reply_message(
            event.reply_token,
            reply_msg
        )
    else:
        # 如果不需要,就 skip 這段訊息。
        continue

判斷是否需要 LLM 協助的範例

image-20240725100451360

根據這個範例,你可以看得出來。 除非你有特定想要詢問客服中心,不然都不會將訊息傳遞給 LLM 。這樣除了可以更節省經費之外,還可以不需要任何特殊字元來判斷是否需要 LLM 的幫助。

相關程式碼: https://github.com/kkdai/linebot-gemma

未來展望

Image

近期 (07/11) Uber 分享了他們的 GenAI Gateway 的創新 (Navigating the LLM Landscape: Uber’s Innovation with GenAI Gateway)(尤其是針對 LLM 的部分),裡面有提到通常來說訊息可能從許多地方進來

  • ChatBot
  • 3rd Party Library
  • Internal Services

但是這一類的訊息與請求在經過 GenAI Gateway 蛇後,會請過許多的處理。

  • PII Redaction (去除掉個人資訊)
  • 相關的資訊認證
  • 訊息與流量控管

最後才會分配到不同的 LLM 來處理相關的資訊。

在 LINE Bot 的開發上也是如此,雖然他的需求與功能會是單一且明確的。但是如果可以透過本地端的模型來讓使用者的體驗可以更好,卻也能讓成本取得一定程度的平衡。 這時候 LLM 不再是浪費錢的事情,而是一個完美的助手。

我們也期待著每一位開發者趕緊來試試看,並且跟我們分享相關的心得。