跳至主要内容

Introduction

歡迎你來到我的網站。

我是個臺灣的 AI 工程師,同時也是這個組織的創辦人 Zephyr。

這裡有什麼

現在你看到的這個頁面,是用來寫技術文件的。

  • 論文閱讀的資料放在隔壁:Papers
  • 部落格的部分在隔壁的隔壁:Blog

目前我在 Github 上已經完成了幾個專案,包括:

  1. AutoTraderX:這是個用於自動交易的專案,主要用於台灣股票的交易。
  2. DocsaidKit:這裡有一些我平常在用的一些小工具,是個工具箱的角色。
  3. DocAligner:這是個提供文本定位功能的專案,主要用來定位文件的四個角點。
  4. DocClassifier:這是個用於計算文本相似度的專案,其參考了人臉辨識系統的設計理念。
  5. GmailSummary:這是個用於摘要大量 Gmail 郵件的專案,串接了 Gmail 和 OpenAI。
  6. WordCanvas:這是用於生成文字圖像的專案,為了解決 OCR 模型訓練資料不足的問題。

當然不只有這樣,但為了節省篇幅,那些還在開發中的,我就不贅述了。

你是工程師?

對。

我喜歡用科學知識來解決實際問題,並以此為樂。

早幾年前,做影像的會稱自己為「電腦視覺工程師」,做文字的會稱自己為「自然語言工程師」,甚至也分出「機器學習工程師」和「深度學習工程師」,然後在某些小團體內存在不同職稱工程師的鄙視鏈。

但不管是誰,全部會一起鄙視「AI 工程師」:

  • 哼!又是個沒有 Sense 來騙頭銜的公司/職缺/求職者!

事過境遷,現在我們愕然發現文字和影像和音訊等不同維度的資訊,居然已經在「基礎模型」的浪潮下完成了高維空間內的統一,成為刷榜、刷分、發論文的必備良藥!

人們這才發現,原來這些工程師都是一樣的,只是在不同的維度上做相同的事情而已。

很快地,這個領域就沒人這樣再分什麼工程師了,因為學術圈的研究主題已經跨領域融合了,所以你每個領域都要懂,不然研究根本做不下去。也因此我們在一時之間很難說清楚自己到底是什麼。

這時回過頭來發現:

  • 對,就是你了!AI 工程師!

Github 組織帳戶

因為 Github 是這樣建議的:你想找人一起寫 code?就創一個組織吧!

創立組織的目的其實很簡單,並不是真的想要搞什麼大事業,只是在寫程式的時候,發現 Github 的組織帳號提供比個人帳戶更豐富的功能,也能夠邀請其他人一起來寫程式,共同研究有趣的題目,重點是還不用多花錢(嗯?)。

有這麼多優點,為什麼不創一個來玩呢?

我覺得整件事情最困難的地方是想個名字。

分析文本是我的日常工作,舉凡是圖像文字辨識、圖像詐欺檢測、主題分類、關鍵詞提取等等,都是我在做的事情。其實在我的觀點看來,文本不只是文字,它可以是一張圖片、一段影片、一首歌曲、一個數據集,甚至是一個人的行為。所以只要有分析的價值,或是我們願意去分析它,我覺得萬事萬物都可以是文本(混亂邪惡?)。

所以最後,我想把這個組織的名字取的跟這個領域有關,叫做 DOCSAID

這個名字是由兩個單字組成,分別是「DOC」和「SAID」。大概的意思就是:

  • 當文本被創造的當下,已經將它想表達的內容說完了。

那麼這些文本,它到底說了什麼呢?這時候我們只要去分析它就好了!

有趣的是,取完這個名字之後,發現裡面居然還藏了 AI 兩個字,真是意外之喜。

那這裡是?

是我用 Github Page 進行自動部署所生成的網站。

信息

想不到吧!所以只要 Github 壞掉,這裡就會跟著再見。

所以我們要好好愛護 Github,不要讓它壞掉。(這什麼結論?

我一直都有寫部落格的習慣,之前用點部落,大概用了兩年,最後因為太難用,放棄。

後來改用 Wordpress.org 試試看,大概半年,最後還是放棄了。

  • 工程師寫文件就是要用 Markdown 啊!用 Elementor 不卡嗎?

前陣子在逛街的時候意外找到 Meta 開源的 Docusaurus,發現它的功能還算豐富,部署流程也很簡單:

  • 可以用 Markdown 寫作和部署,+10 分
  • 可以自動部署,+10 分
  • 可以用 React,+10 分
  • 好多可以加分的地方,總之很好用。

於是就決定是它了。

Docusaurus 除了可以讓我寫點文章之外,還有提供技術文件管理的功能,也就是你現在看到的這個畫面,所以它又幫我找了新的事情可以做:

  • 寫技術文件。

寫文件真的是一件修身養性的事,它可以幫助工程師的思維沈澱,重新梳理自己的知識體系,也可以幫助他人快速了解你的想法。唯一的缺點就是「耗時」,大量的時間投入在寫文件上,可能會讓你的工程進度變慢。

但是,我覺得這是值得的。

你可以點一點左邊的目錄,我已經完成了一部分。

如果你發現內容是空的,那就是我還沒寫完,要再等等。

如何調整模型

這可能是你最關心的主題了。

根據我所定義的主題,配上我提供的模型,相信能解決大部分的應用場景。

我也知道,有些場景可能需要更好的模型效果,因此必須自行搜集資料集,並且進行模型微調。

你可能在這一步就卡住了,大部分的人都是這樣,別緊張。

  • 情境一:你知道我提供的專案功能符合你的需求,但你不會調整

    這種情況下,你可以直接寄封信給我,提出你的需求,然後給我「你想要解決的資料集」。我可以幫你進行模型微調,這樣你就可以得到更好的模型效果。

    不用收錢,但是不能壓時間,我也不保證會執行。(這很重要!)

    我雖然做的是開源專案,但也不是吃飽了撐著,當緣份到了,模型自然就會更新了,你只需要寫個郵件就「可能」得到更好的模型效果。再怎麼說,也能算是雙贏吧?

  • 情境二:你想開發特定的功能

    那就來信跟我討論吧,如果我覺得有趣,我會很樂意幫你開發,但我希望你可以先準備好一定規模的資料集,因為我就算我有興趣,也不一定有時間拿到足夠量的資料,或是一些特殊的資料是需要有特殊管道才能取得。

    這個情境跟上述一樣,不用收錢,但是不能壓時間,我也不保證會執行。

    提示

    如果特定功能是針對那些公開的模型比賽?答案是不行。因為那些比賽多少都有版權和相關限制,如果被投訴的話,主辦單位會來找我麻煩。

  • 情境三:你追求快速開發的特定功能

    當時間成為你的首要考量時,我們可以轉向委任開發的合作方式,根據你的需求,我會提出一個合理的報價。

    另外,委任開發的所有權的問題必須要先討論清楚。一般來說,我會保留專案的所有權,而你可以自由使用它。我不推薦買斷專案,因為這並不符合持續進步的理念。隨著技術的進步,今天的解決方案可能很快就會被更新的方法所取代。如果你買斷了一個專案,隨著時間的流逝,可能會發現這筆投資失去了其原有的價值。

    提示

    你可能會不能理解專案的所有權的歸屬問題。

    仔細思考一下,說不定你只是是想「喝牛奶」而已,而不是真的想要「養一頭牛」。

    • 養一頭牛多累?(要養工程師來維護專案)
    • 佔空間又難照顧。(要建置訓練機器,租雲端機器很貴,買主機又容易壞)
    • 怕冷又怕熱。(模型調參調到懷疑人生)
    • 還一言不合就死掉。(達不到預期成果)
    • 真的有夠虧。(花了錢買斷專案)

    此外,大多數的專案最有價值的地方是資料集,其次才是解決方案的思考方式。

    在不開源私有資料集的情況下,拿到了一份程式碼的最大功能大概就是觀賞用途而已。

    如果你在仔細思考過後,還是堅持要買斷專案,那我也不會攔著你,來吧。

    信息
    • 在所有形式的開發專案中,我們絕對不會開源你提供的資料,除非獲得你的允許。
    • 正常流程下,資料只會用於更新模型。
    • 資料集提交:docsaidlab@gmail.com

最後 🍹

我是個 AI 工程師,不是萬能工程師,我沒辦法解決所有的問題。

你可以從這個網站上看得出來,我的技能樹點得有點歪,我最擅長的是:「給定一個輸入,要求一個特定的輸出」,那我就可以盡量用模型解決它,就像是我所開源的專案一樣。至於其他部分,我還在努力地學習中,希望未來我能夠更加全面,解決更多的問題。

在這個時代,我們很幸運有像 Google、OpenAI、Meta、NVIDIA 這樣的大公司,以及活躍的開源社區在推動技術的發展。他們的貢獻讓我們能夠學習到最前沿的技術,從中獲取豐富的知識。

我相信,每一個小小的貢獻,都是我們共同創造更美好生活的一部分。

如果我的專案能夠對你有所幫助,請隨意使用它。

2024 Zephyr