跳至主要内容

開源專案

歡迎你來到我的網站。

我是個住在臺灣的 AI 工程師,Zephyr。

這裡有什麼

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

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

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

  1. AutoTraderX:這是我練習串接臺灣證券交易券商的系統而留下的紀錄。
  2. DocsaidKit:這是我自己寫的工具箱。
  3. GmailSummary:這是我練習串接 Gmail 和 OpenAI 而留下的紀錄。
  4. WordCanvas:這是我自己寫的合成文字圖像的工具,用來製作訓練資料。
  5. 【深度學習專案】DocAligner:功能是定位文件的四個角點。
  6. 【深度學習專案】DocClassifier:功能是比對文件相似度。
  7. 【深度學習專案】MRZScanner:功能是辨識文件上的 MRZ 區域。

還有一些其他的專案沒有公開,有些還在開發中。有更多的是已經開發完成但效果普通,還沒到適合公開的時候。

你是工程師?

對。

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

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

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

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

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

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

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

這時回過頭來發現:

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

那這裡是?

前陣子在逛街的時候意外找到 Meta 開源的 Docusaurus,發現它的功能還算豐富。

我想著不妨就用它來寫個部落格吧!於是我用 Docusaurus 搭配 Github Page 進行自動部署,就有了你現在看到的這個網站。

資訊

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

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


我覺得「建立一個網站」最困難的課題是:取名字。

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

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

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

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

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

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

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

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

如何調整模型

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

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

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

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

情境一

你知道我提供的專案功能符合你的需求,但你不會調整。

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

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

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

情境二

你想開發特定的功能,但不趕時間。

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

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

提示

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

情境三

你追求快速開發的特定功能。

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

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

提示

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

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

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

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

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

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

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

還有

別再來說我的網站設計簡陋啦!我知道啦!😅

我的本職工作是做模型的,平常看論文、寫程式、調參數,但不包含網頁設計。特別是美學素養的部分,大概只是幼兒園的水平,之後有機會,如果我沒能學成這個專業,那就再請專業的人來幫我改改。

最後 🍹

我投入了大量的時間和精力在這些開源專案上,一方面是為了提升自己的技術水平,另一方面也是希望能夠為社區做出一些貢獻。

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

如果你覺得我的開源專案對你有幫助,或是你認可我的努力,你可以透過「Buy Me A Coffee」來支持我,這將幫助我繼續維護與開發這些專案。此外,歡迎留下幾句話,或是在專案上給個星星,這些都是對我莫大的鼓勵。

你的每一份支持,無論大小,都能激勵我持續改進現有專案,並開發更多有趣的新工具。

2024 Zephyr


Buy Me A Coffee