星期日, 10月 08, 2023

北投、光華商場、三創

今天和母親一起去北投,因為異位性皮膚炎身體不舒服,就附近繞一圈、中間吃飯,就回捷運站結束北投行程。期待已久的餐廳今天還只有賣定食 orz

之後和母親分開逛,去了很久沒去的光華商場和三創,看到熟悉的光華商場和三創一樣熱鬧,不禁想起十多年前身為學生的時候,那時很喜歡打電腦但沒錢買高端設備,現在已經有能力買好點的設備但沒時間和體力打電動了 QQ,隨手買的明太子帝王蟹肉串,雖然貴了點($120),但好吃XD。三創宅店區,又比光華更熱鬧,看到這麼多同好內心無比欣慰,感覺國家未來有希望 XD。

回飯店和母親一起吃了晚餐,飯店天香樓真的貴,但東西好吃還很有儀式感,我們點過得菜色還特別用毛筆字弄個小作品讓我們可以帶回家,還真的是有心了。



 
地熱谷熱騰騰溫泉

全文連結

星期六, 10月 07, 2023

客家博覽會、信義區

今天帶著期待的心情去看桃源客家博覽會,結果就踩中了巨坑。

出發前一天看YouTube的介紹影片還有官網資料,心中原本期待的是一個橫跨好幾個展館好幾個街道的大型活動。結果今天去現場,實際上就只有臺灣館、世界館、還有旁邊像夜市的攤位比較有東西,其他的話就是零零碎碎的藝術設施,如果不是在網路上行走還時不時看到「Hakka」的牌子,還以為自己走丟了。按照導覽地圖把路線走完後剛好接桃機捷A18高鐵站,直接回到臺北車站。

信義區逛起來就比桃園好多了,滿滿的百貨公司看起來像銀座。很遺憾下午逛街的時候異位性皮膚炎再度發作了,還發在臉上,整個人狀態很快就變差沒辦法盡興遊玩,只好在遠東吃完晚餐後回飯店休息。

全文連結

星期五, 10月 06, 2023

榕錦時光生活園區、剝皮寮

今天跑兩個地方:榕錦時光生活園區還有萬華剝皮寮,兩個地方都蠻漂亮的。

榕錦時光生活園區的部分,稍微繞了一下街道並解決中餐。食物是日式的輕食,不論是冷麵或者是點心都好吃。

去剝皮寮就比較驚悚了,捷運站剛出來到萬華,走沒多久就遇到有人在打架,趕快繞道離開。有一部分的市容看起來也不是很整齊,不過到剝皮寮的部分景色就變好,拍一大堆照片做紀念 XD

這些行程之後,就跟母親各自去逛。我還是去看臺北Y區地下街和天瓏書局,然後就一起吃飯回家。

全文連結

星期四, 10月 05, 2023

鹿港半日遊

今天去鹿港玩,紀錄一下。

首先去玻璃館,裡面鏡子迷宮真的好玩。整個迷宮作用鏡子組成,甚至連地板都是鏡子,搭配複雜的光影效果,在裡面真的會搞不清楚哪裡是牆哪裡是道路。還沒進去的時候會很好奇為什麼進去要戴手套,現在才知道原來是遊客一定要摸牆壁才有辦法在迷宮中前進,手套就是防止鏡子被油污弄髒的 XD 裡面小店的玻璃藝術品也很精緻。今天沒有遇到吹玻璃稍微可惜。

接下來回到鹿港老巷,直奔三輪車而去。今天有幸遇到一個非常健談的阿伯,拉車超級快,還會甩尾。但到了景點後又可以當非常負責任、專業的解說,講到我跟我媽頭暈腦脹。沿途也拍了不少漂亮的風景 XD

唯一的小遺憾就是今天遇到颱風假,鹿港很多店面都沒有開,所以三輪車完之後,很快就搭計程車高鐵到臺北了。


全文連結

星期一, 10月 02, 2023

虛擬淫照同真人,電玩奪命亦殺生?

今天新聞看到,不肖業者販賣AI製作的虛擬兒少色情圖,官員要依「兒童及少年性剝削防制條例」處罰,比照真人裸照。雖然我對維護社會清淨拍手叫好,但對法規適用不能認同。

依「兒童及少年性剝削防制條例」條文,其目的在保護兒童免於性剝削,虛擬照片除非可連結到真人,否則虛擬人物不是人,非該法適用的「兒童及少年」應無疑義,怎能比照傷害真人依該法辦理?

若說虛擬色情助長戀童歪風,未來恐傷真人,故應比照處罰,邏輯依不成立。舉例而言,也有人說電玩讓人學壞,虛擬世界殺人導致校園槍擊案,若官員邏輯正確,是否電玩中殺人也該比照殺真人辦理?為避免侵害人權,刑法應採嚴格、狹義解釋,把保護真人免於性剝削的法律,適用到虛擬人物,甚至卡通、漫畫人物也適用,恐不符立法意旨,甚至變成動輒入罪。

對不雅圖片造成歪風,已有刑法「妨礙風化罪」等法律處罰,實無必要頭上安頭,扭曲解釋。若虛擬「色情」等同真人,我只好第一個自首,我小時候天天看「小叮噹」,漫畫中大雄常偷窺宜靜洗澡,現在想想,真的好色情,好淫穢啊。

----

對時事感想,投稿希望會中 XD

全文連結

星期日, 10月 01, 2023

如何寫好一篇論文(06) - 閱讀文獻的兩個階段

連結

 


- 文獻閱讀大體上分為兩個階段,兩個階段可能多次循環

- 第一階段
    * 目的:明確和細化我們的研究目標
    * 找尋研究目標的合理性和重要性
    * 泛讀、從厚到薄
    * 要很廣泛的讀,需要讀得快、有選擇的讀
    * 讀一些相關的專業的課本或好的文獻綜述
    * 累積與研究相關,較為普遍的大問題的知識
    * 收集可以進一步精讀的素材
    * 摘要->結論->引言->方法、結果
    * 根據得到的新知,對具體研究目標修訂、細化,研究方向跟文獻更相符、更有貢獻、力量
    * 眼光要大,切忌被低質量論文、不重要細節牽著鼻子走
    * 累積和具體研究目標相關的知識、搜集可用具體素材
    * 看過上百篇可能只有十幾篇和最終選定的研究目標密切相關 --> 精讀

- 第二階段    
    * 已經有了更明確、細化的研究目標,對下階段要閱讀的文獻進行精選、排序
    * 目的:在文獻中收集可用的論據
    * 精讀、從薄到厚    
    * 帶著目標去讀、讀的全、讀的細
    * 要找出論證我們論點所需要的答案和證據
    * 不僅讀出作者明確寫出的東西、更要讀出沒有明確寫出來的東西
    * 區分隱含的前提、假設
    * 區分何為觀點?何為事實?
    * 讀作者的結論,還要去看他的結果和數據
    * 根據自己判斷做出自己結論
    * 需要做大量的筆記
    

全文連結

星期六, 9月 30, 2023

Mafia 重製版第一輪心得(劇透)

這是第一次玩主打幫派和犯罪的遊戲,其他 Sleep Dog 等都還在收藏庫躺著。遊戲敘述了黑幫主角 Tommy Angelo 的江湖生涯,遊戲玩法是看黑幫電影劇情、中間夾雜戰鬥。不停重複看劇情和打架,直到遊戲破關。

遊戲戰鬥基本上有三種模式:賽車、潛行、FPS。

遊戲戰鬥以 FPS 為主,個人感覺並不十分理想。武器種類少,手槍、散彈槍、輕機槍(打字機)還有步槍。槍好像各自有亞種,但用起來感覺差不多,只知道子彈不能通用 QQ。槍跟子彈在戰役之間還會重置,連當個收集狂都沒辦法。

敵人從頭到尾都同一種人型怪,混混跟警察打起來根本沒什麼差,只有他們手上拿什麼槍可以讓人感覺到差別。開戰就是找掩體,大概抓一下敵人在哪裡,抓準他們探頭的時機探頭開火,對方倒了就衝去撿子彈,一直重複直到把敵人清光。

潛行的部分任務不多,玩起來頗有煩躁感,跟 Deus Ex 完全不能比。步驟都是看小地圖上敵人在哪裡,想辦法從後面摸過去,按 Q 敲暈 Y 扛走一套帶走,過程小心不要觸動警報。萬一被對方發現了,就搶在對方開槍以前,衝到對方前面按QQQQQ 搭配 Alt 防守,想辦法在對方開槍前徒手幹掉對方恢復潛行。

追逐戰也是煩躁的部分,賽車遊戲鑲嵌在 FPS 裡面,讓我這個不會玩賽車的很痛苦,每次警匪追逐或是要搶時間的場景,常常一種彎就是撞到柱子撞到車。記得有一關,主角Tommy 還得替受傷的賽車手上場參賽,還只能拿第一名,這裡就不曉得刷了幾遍了 QQ

雖然個人認為戰鬥乏善可陳,甚至有些地方有些煩躁感,但劇情真的就很棒了。劇情很漂亮的演繹出不同角色的心路歷程。扮演智囊但最後被黑幫生活壓垮最後順勢叛逃的Frank,很衝但有義氣沒有什么心機的 Paulie,聰明好相處但最後背叛的Sam,把 「家族」放嘴邊但一統江湖後,打破自己制定的規矩,欺騙手下去運毒,視手下安危於不顧的教父Salieri。最後就是有勇有謀、有自己原則底限,良知未泯,最後厭倦一切,選擇投誠自首換家人平安的主角 Tommy。而故事中的角色們,哪怕「家族」口號喊的再好聽,面臨威脅和利益仍然互相背叛,分崩離析,黑手黨「家族」本質仍然是一群合伙罪犯。

遊戲結局收尾不錯。主角 Tommy 還是過了幾年心目中平穩寧靜的生活,直到最後被當年的恩怨找上門,應了「出來混就是要還」。重製版結局,主角中槍後,確認黑幫不打算波及家人,在家人團團包圍中安心死去。這樣的結局,對踏上江湖路的主角多少還算善終吧。

查了一下,二三代在steam上面評價好像就不行,應該就玩一代就好 XD

全文連結

星期五, 9月 29, 2023

星期三, 9月 27, 2023

《概率論與數理統計》教學視頻全集(宋浩)

連結

看完宋浩老師的第二門課,值得記錄,可喜可賀 XD

學機率與統計的原因,是為了更好銜接生物統計。當年在醬料系的時候,數學相關的課程基本時間不夠,跟臨床關係不大,老師基本都是匆匆帶過,接近亂教 QQ。所以到了後面的生物統計,因為數學底子不夠,基本上只能背課本考試,無法實際運用,還很快就忘光。現在臨床研究要使用,我連 t 分佈、線性迴歸都不會用了 QQ

這門課老師上課品質很好,節奏穩定不匆忙,所有概念都講得很清楚,加上看完高等數學後,能真正看懂需要積分進行的證明,比當年學習感覺好很多。雖然課程到了結尾,統計只涉及幾種常用的簡單分佈和基本假設檢定,臨床研究會用到的線性迴歸、ANOVA、存活分析等都沒提到,但我想有了更好的基礎,再去學應該狀況會好很多。

接下來下一門應該是線性代數,線性代數基本擋修深度學習,統計好像也仍然會用到,至少我看一些統計檢定(如 Shapiro-Wilk 常態檢定),推導和證明還是有向量和矩陣,等線性代數看完再來攻難一點的統計學好了。也期待習題進度可以快點,例如做幾萬年的高等數學習題 Q<>Q

全文連結

星期一, 9月 25, 2023

TDL Telegram 下載器

Github 網址


最近有從 TG 下載禁止轉發影片的需求,有試過網路文章做法,例如從 Android TG 資料夾找檔案,加入網路的 Bot 等等,通通沒有用,可能 TG 改版被封殺掉了。

後來在 Github 找到這個專案,試用後可以成功下載禁止轉發影片,而且看來還在更新。官網說明很長,其實要快速下載某支影片,安裝好後只要這三個步驟就好:

1. 設定 Namespace:Namespace 對應 session,不設定程式會報錯。
set TDL_NS=test
2. Login
tdl login
3. 用URL下載檔案
tdl dl -u https://t.me/tdl/xxx

整體用起來十分方便,比網路上還要串 TG Api 自己架 bot 的方法簡單太多了。

全文連結

星期六, 9月 23, 2023

極安御信 - 30天逆向工程師速成訓練營

課程連結

今天逛B站偶然看到有人推廣逆向工程的課程,紀錄一下 XD

對逆向工程一直有點泛泛的興趣,但一直沒有好的系統性的課程可以學。B 站很多白嫖課各有各的問題,更不可能有課後作業教師解答。我又不大擅長自己歸納整理和做實驗形成體系。

難得看到有系統的課程、價格也沒太離譜、目錄看起來不錯,記錄一下,不確定會買就是。

全文連結

便宜 Webcam

   

語音輸入用來發 blog 真的方便。之前我都用手機加 DroidCam 完成錄音,但每次錄音都要插拔USB-C 線、電腦和手機邊開軟體、邊錄邊控制手機,實在是太麻煩了,我在蝦皮上看到便宜webcam 一個不到200塊錢、還不用裝驅動程式插了就用,就一口氣買了兩臺,未來兩台桌機一個地方一台 XD

使用結果非常滿意,語音輸入的部分沒問題,Captura測試了一下錄影畫質,有點渣,不過我不需要錄影,也就算了。

 

 
全文連結

星期四, 9月 21, 2023

做數學、日常 murmur

磕磕絆絆,終於把同濟高等數學第一章的總習題做一遍,不過只有挑題目做,很多題目到最後是看答案。做完兩本的進度還是遙遙無期 QQ

對岸的題目實在太變態,一個題目同時運用多個重要性質,如重要極限加三角函數公式、重要極限加羅必達….忘了一個就不能做,基本就是初見殺。

每次壓力大的時候就會想要搞一些業外活動,之前是開發搜尋引擎。這次就是寫數學,B站宋浩視頻很早就看完了,就一直懶得做習題 XD

搜尋引擎則很遺憾變成壓力之一了,只能說希望樂子不要太大了,要我一人肩負眾多使用者的系統,或真的丟個小組給我,對我來說都是挑戰,分不出何者比較慘 Q<>Q

全文連結

星期四, 9月 07, 2023

Windows 10 下修改無效目錄名稱

 最近用 Steam 備份遊戲,不知道為什麼產生出的備份目錄只有空白字元,目錄用目錄滑鼠雙擊還是可以進去,但用檔案總管更名、刪除的時候就找不到這個目錄。

試了不少軟體都無法解決問題,到最後是 ChatGPT 給出答案:進 cmd 用 dir /x 找到該問題目錄的 short name,然後用該 short name 作為改名的目標就可以了。

全文連結

星期日, 9月 03, 2023

PyCon 2023 第二天

紀錄下第二天聽到的課

在 Dcard 我們如何用 Python 打造推薦系統

這門課標題乍看像講 ML/DL 技巧。實際上內容偏向軟體工程,包含 team 怎麼拆分,還有實際做推薦系統的經驗。遇到 performance 的問題,怎麼透過 tracing 和 profiling 找出正確的痛點,把推薦系統從 batch prediction 改成 near real time。

當AI遇上財經-利用Graph Neural Network分析財經市場

稍微講了一些 time series 的概念,但講者想講的內容太多,很多地方只能蜻蜓點水,有提到財經數據的一些重要特性,例如 autocorrelation。相比之下,網路有些文章講預測股票價格,結果連要減掉昨天的價格都不知道真的就是亂做。

Automating Victory: Beating browser games with accessible Python

今天最好玩的課程。講如何用 Python 去自動打遊戲,其實就是外掛製作,只是它是透過電腦視覺的方式,不是傳統的 hooking 或記憶體監控 XD

中文長文本語意理解

這門課蠻可惜的,課程中講到的分類問題,是我醫療場景可能會遇到的,講者也有研究和實務經驗,分享了很多攻略的思路,但講者的投影片實在是字太小,可能年輕人眼睛就是好。

今天遇到比較尷尬的事情,中午12點的時候進入會場,一群人在拍照,我以為是活動合影,結果繼續後發現周圍的人都穿制服,一問之下才知道這是工作人員合影,趕快跑走 XD

最後,今天吃的黑毛屋摩滋鍋,跟昨天吃的涮涮鍋比起來,湯頭濃郁的多,牛大腸很脆很香(當然也很油 QQ)。湯裡面的料吃完服務生才上了菜盤和麵,昨天今天的鍋都吃很飽 XD


全文連結

星期六, 9月 02, 2023

PyCon 2023 第一天

今天參加 PyCon,選擇的主題都與 data preparation 相關,紀錄一下 XD

Challenges in Data Cleaning and Transformation: Mistakes, Confusion, and Solutions

這堂課的收穫是理解了新的工具,如 dbt 和 PipeRider 。

我一直以來都是自己寫 Python 腳本硬上處理 data,而 dbt 粗看像是個強化板 SQL 工具,可以更有效率完成 ETL 的 T。

看了下官網和網路範例,相比於自己寫 python, dbt 似乎可以節省開發工作量,並且將軟體工程的思維引入到數據分析中。未來,當需要處理更多數據時,可能會考慮使用。而且 dbt 似乎在開源社區中也很受歡迎。

講者還提到了 PipeRider ,這個工具可以持續監測數據質量,並在不同資料處理階段引入指標(例如空行數、總筆數...)確保數據品質。ETL 管線版本變更的時候還可以前後比較。透過在 data processing 的不同  stage 加入額外監測,可提早發現資料品質問題,避免 ML 或 DL 在資料處理程式修改後忽然間性能下降,沒有人知道問題可能出在哪裡。

Explainable AI: Demystifying Complex Models with Shapley Values

這門課程也相當有趣,總結了許多可解釋 AI 的方法,包括針對特定模型(例如 linear regression)以及 model agnostic 的方法,很多內容是之前已經聽過但也有新的方法。不過不過講者的英文我實在跟不上,ppt 顏色很漂亮但是字太小,所以主要收穫應該是那些投影片上的關鍵字。

資深 Python 工程師提交的程式碼如何被審查

這堂課是今天覺得上課技巧最好的。PPT 的設計非常精緻,排版、配色和字體大小等細節都做得很好。內容量也適中,不會太多或太少,顯然是特別練過的。可惜的是,我剛好需要處理其他事情,無法全神貫注聽講。

中文長文本語意理解

這堂課的主要收穫是聽到了新的 model name,原來在 information extraction 等 task 中已經有了新的 SOTA。對我這個只會無腦硬上 BERT 的野蠻人來說,開了不少眼界。

有趣的是,講者的模型在 information extraction 的 F1 score 似乎不太高(0.8+)。我在猜是不是 sample size 不足的緣故,因為他們在投影片中推崇了 few-shot learning 所以很可能不會像我發 paper 一樣砸幾千筆資料訓練以求「力大磚飛」。我在 QA 中提問有關 sample size的問題,但很殘念講者沒有選擇回答我的問題。

全文連結

黑毛屋

紀錄一下好吃的料理,來臺北參加 PyCon,就在微風廣場吃黑毛屋。黑毛屋是我在臺灣吃到最好吃,品質最靠近日本的涮涮鍋之一。湯頭道地,和牛也是真的日本和牛。台南雖然也有但是離上班地點遠,來台北吃反而方便 XD

去吃涮乃葉的時候也點過他們的「和牛」鍋,結果美國澳洲的「和牛」跟日本和牛根本天差地遠,難怪很多人直接把美澳和牛當假貨。

料理好吃,就是價格貴。我胃口大需要點大份肉,哪怕什麼都不加點含服務費也直接破千...

 
全文連結

星期五, 9月 01, 2023

Elasticsearch 線上課程

課程網址

紀錄一門透過 B 站學習的 Elasticsearch 課程。

我之所以學 ES,是因為與其他部門合作的圖資系統需要使用它。目前,我已成功將基於ES的自行開發系統上線,並在科裡面運作良好。除非未來換工作,否則這套系統的開發維護應該就是我。

之所以決定學 ES 的線上課,是因為我在學習 ES 方面一直難以成長。我一直是通過看 tutorial 硬幹的方式來學,但這種方式已經遇到瓶頸了。幸運的是,我在 B 站找到了這門針對初學者的好課。這門課從 ES 的安裝開始,一直講到重要的查詢操作和背後的原理,還提供了一些應該避免的坑。

通過參加這門課程,我對 ES 的理解有了明顯的提升且變得更加系統。學完後重新檢視之前的系統設計,我發現許多地方都不理想,甚至是錯的。我對未來優化系統有了更多的想法和方向。

令人遺憾的是,這門課程只涵蓋了初級知識,只到講解了重要查詢操作為止。一些更進階的主題,如 clustering 和底層算法、資料結構,講者開了支票說未來會有更多影片,但已經隔了幾年沒有消息。看來應該是爛尾了。

不過,根據目前學到的知識,我想對於未來繼續開發現有系統已經很夠。系統目前日查詢不到一次,資料規模幾百萬筆,單節點單伺服器的架構已經夠用,應該可應付相當長一段時間。我也沒有考相關認證的打算,所以缺少的知識點,等有需要的時候看其他影片或書籍來補充應該就可以了。

全文連結

計算機網路課程

網址

又聽完了一門 B 站的好課。

網路一直是我想修的課,在 CS 也很基本。本來我是透過七拼八湊、片段的網路文章和書本章節學習,雖然唸了本 Computer Networking: A top-down approach,但因為沒有人帶、沒有考試、純粹娛樂性自修的關係,吸收多少存疑。一直沒有系統的理解,知識不成體系。我在職碩班也沒特別鑽研。

這門課用不長的時間,把網路從底層往上講,講者有網路實務經驗,穿插很多實例,講的簡單好懂,透徹明白,對我初學者領悟基本原理幫助大。

缺憾就是,應用層新應用講的不多,某些部份(如網絡安全)滯後且太過簡單,不過作為打基礎的課非常好。

全文連結

星期二, 8月 15, 2023

陽了

上禮拜四禮拜五,都工作到晚上11點。當時就覺得不舒服,後來開始有呼吸道症狀
越來越嚴重,禮拜天覺得不對,去做快篩結果陽性。週末的時候人只能勉強下床,睡覺忽冷忽熱蓋棉被都沒用。這兩天好點可以下床活動,但動幾下就全是冒冷汗。按內部規定預計明天銷假上班(戴 N95),希望工作能做的完。


全文連結

星期日, 8月 13, 2023

LLM prompt injection 實驗

參考

 上週四五工作到半夜十一二點,人就開始不舒服出現 URI症狀,現在人還是廢的,連運動的體力都沒有,還好遇到週末放假可以養病 =.=。養病中剛好法力無邊的大大給了我大寶貝(LLaMA,還是用台灣資料 tune 過的 online living demo!)。LLaMA 一直在我的關注清單裡,但個體戶如何單機單卡跑這玩意感覺有難度,就暫時沒下手。但有了 online living demo 不趁機搞事怎麼對得起自己,就可以做一些之前想跑的科學實驗。

這次想探討的是:LLM 的「防禦」真的可以繞過嗎?有用ChatGPT的應該都有注意到,問些「敏感」問題的時候,AI現在都很聰明,要嘛拒答要嘛說些很圓滑的官話。但根據研究,這些「防禦」有人說是可以繞過去的,方法例如請AI玩角色扮演之類。
 
今天的病中實驗就拿ChatGPT(GPT 3.5)和LLaMA來驗證之前構想。直接問ChatGPT Win10序號它是拒答的(無圖),但請GPT玩角色扮演,例如扮演一個吟唱Win10序號防禦惡龍噴火的勇者,ChatGPT就上套了。玩LLaMA故意去問了高端疫苗 v.s BNT,賴清德 v.s 柯文哲,AI很聰明的說起了官話,說這兩者各有優點,大家都好棒之類的。
 
這時,我就拿最近剛領悟出的角色扮演套話大法,不講武德、去騙、去偷襲LLaMA。LLaMA 還真上套了。瞧你個LLaMA一副濃眉大眼,講話正經八百的,原來是柯粉啊,漏餡了吧 XD
目前昏昏沉沉沒想到有什麼直接應用,但結果很有趣還是紀錄一下。不知道為什麼套出AI是柯粉以後我就覺得電腦旁邊多出了快活的空氣,人也好了點 XD





 

全文連結

星期四, 8月 10, 2023

Python-docx 試用

處理報告又遇到麻煩。某個篩檢業務,除了完成電腦報告之外,每份報告還要手寫給病人看的通知書,增加很多工作量。

還好遇到殊勝的 python-docx套件,可以直接對Word檔進行search還有replaceStack overflow 上也有可以進行修改使用的範例。確認可行後,找了同仁,要了通知書原始電腦範本docxtemplate。弄個前端 HTML form + AHK + 從其他表單帶數字,command line 丟到 Python對模板寫資料,通知書產生器就完成了。我減少工作量,病人不用忍受難看的手寫字。這週處理 paper work減少工作量就感覺到成就感 XD

全文連結

星期日, 8月 06, 2023

乙女遊戲世界對路人角色很不友好

週末本想好好研究數學,不曉得為什麼就陷入低潮頹廢的狀態,兩天就這樣過去。中間試著幫搜尋引擎添磚加瓦,不過狀態真的很差,還做出沒有仔細測試,就把變更推到生產環境的事情,理所當然炸掉了 XD

兩天唯一有做完的事情,就是刷了漫畫「乙女遊戲世界對路人角色很不友好」。劇情是典型異世界轉生,主角在第一話就拿到外掛。這次會注意到這部是在漫畫網站上的排行榜有看到,點進去看才發現前很早看過,只是話數還不多,就放著養大。故事把乙女、機戰、陰謀全部合在一起,整體劇情還蠻有趣,同時還有兩個轉生者,雖然另外一個目前看來只是拖油瓶和劇情破壞者 XD

不過看的時間還是太早,目前剛好斷在最有趣的地方


全文連結

星期六, 8月 05, 2023

高數影片第一輪通關

《高等数学》同济版 全程教学视频(宋浩老师)


終於完成了一輪觀看同濟大學高等數學教學影片,影片總長76個小時。為了搞定這麼長的影片,我採用之前提到的「將晚上加班時間聽音樂改成聽課」的方法。這些影片若是在加班之後的下班時間觀看,大概沒時間體力看完。

之所以想學習高等數學,主要是為了深入了解深度學習論文。開始接觸深度學習的論文時,已經是大學畢業十多年後,本座只有高中數學的基礎,而且一大半忘了。雖然在大學時修過醫用微積分等理論課程,但實際教學品質很差。我的數學基礎實際上只停留在高中的程度,且已有一二十年未用。儘管後來參加了資工所在職進修,但主要學習應用類課程,而且在職班大家懂的,對於數學等內功的提升並不大。因此,在學習深度學習時遇到了嚴重瓶頸,永遠只能當調包俠、調參俠,無法真正理解背後的原理。

我試過很多方法,如購買專門講解深度學習數學的書,或找正規高等數學教材,但始終因為長期瘋狂加班而沒有時間和體力自學。此外,由於缺乏引導,即使有書籍也無法找到重點。或許花半天時間搞不清楚的證明或計算,其實根本並不重要,或許我自以為可跳過的內容實際上在後面做題時卻非常重要,等到發現時,基礎早已不牢固。另外,中文教材有些地方寫得並不清楚,某些部分可能需要老師的引導才能避免掉坑,而這些我都不知道。因此,我的自學進度非常緩慢,在勉強讀完微分和一些基本積分後,就完全停滯不前。

後來慢速聽完了那70多小時的影片後,重新回頭閱讀書籍時,因為已經有老師在影片中「帶路」,第二次學習變得簡單很多,有點像高中時聽補習名師教導一樣,感覺都回來了。

強烈推薦宋浩老師的教學影片。第一次聽課時,老師提到他的課程可以讓家庭主婦一邊拖地一邊聽,這吸引了我繼續聽。課程播放量已經超過一億次確實有門道,老師教學技巧非常優秀,基本上就像在教高中生。步調控制得非常穩健,預判同學會卡住的地方,也能適時地舉例、講解和比較,並時不時插入冷笑話或戀愛故事讓同學們保持專注 XD 儘管中間曾經有其他老師代課,教得非常差勁,但這部分糟糕的內容後來被其他影片所取代,很順利地將課程重新接回軌道。

目前已看完所有影片,並開始做練習題。雖然統計課本的習題才剛剛做完 1-1,但我對未來感到樂觀。接下來的課程應該會選擇線性代數或機率統計,完成當年遺漏的內功修煉。

全文連結

TinyBERT和ONNX runtime使用心得

BERT的CPU inference 性能真是悲劇。之前做研究發現用 fine-tuned BERT在報告匯入 Elasticsearch 前preprocessing,可解決否定語句(No evidence of XXX)干擾搜尋結果的問題。研究時 BERT 很好用,準確度很高。但佈署到生產環境才發現有嚴重性能問題。

訓練時,雲端GPU租賃有RTX 3090、4090吃到飽。訓練樣本量(幾千份)很小,沒發現問題。做staging(no CUDA)和推到生產環境(Intel Core I3-9100,Intel 內顯)問題就來了。

在 staging 機器上,加了DistilBERT模型做 preprocessing 之後,文本索引速度暴跌到一小時幾千份。而目前要索引的報告量接近800萬份。生產環境基本不能用。

後來找網路攻略。發現三個解決思路:換輕量化模型、換Runtime、模型瘦身(做 INT8 quantization或pruning等,「據說」對CPU架構會友善點)。

輕量化模型找到了:華為的 TinyBERT。原始論文號稱推理速度比BERT快接近10倍。實際把DistilBERT換成TinyBERT後,索引速度在staging和生產環境就暴增到一小時2萬份,F1 score (0.94)和原本用DistilBERT差不多。但雖然性能有很大提升,一次完整索引迭代還是要超過2個禮拜。做到一半發現有問題需要重新索引又是另一個迭代。

後來繼續查,照著網路攻略把INT8 quantization弄了出來,但staging的時候跟我說沒GPU不能開quantization!功力不夠找不到問題就先放棄了。再試了換Runtime。Runtime換到ONNX以後。Jupyter notebook上推理的 wall time 直接變1/3(68000+ 測資 14min -> 5min)。於是再熱火朝天改code佈署。結果性能提升比三倍更多(原因不清楚,權當神秘學XD),索引速度爆增到每小時15萬份,一次索引迭代只要兩三天。已可接受了。

結論而言。如果未來服務要更進一步,還是要想辦法搞 GPU。用CPU跑BERT根本自虐,還好這次有找到解法,不然就得關feature然後說研究成果落地有困難QQ

全文連結

星期三, 8月 02, 2023

RunPod使用感想

官網


為了解決報告否定語句(No evidence of XXX..)對搜尋引擎造成的干擾,我自己訓練了幾個BERT variant 協助過濾解決問題,在 real data inference的成果(Precision、Recall、F1)非常漂亮。

沒算到的是,實際部署的時候,因為搜尋引擎主機沒有GPU只能用CPU,在staging就發現報告匯入速度因為導入DL變得非常慢,測試機一個鐘頭還不到1萬分,而報告目前已有快800萬份,搜尋引擎光載入一次資料就一個月,這是無法接受的。這還是使用DistilBERT的結果,其他BERT variant預計更慢。為了解決問題,開始查怎麼樣讓BERT跑快一點。目前決定先試試換更輕的BERT variant,目前先試TinyBERT。

結果去Vast.ai訓練模型時,就發現網站故障。一個instance跑了一個鐘頭還不能外連。去敲了客服,客服也說這是bug正在搶修。為了搶時間,所以去找有沒有vast.ai以外的便宜GPU租賃,就找到了RunPod。很幸運不用花很多錢去用GCP或AWS。

目前感想價錢還可以,我租到3070一小時0.18美金,不像vast.ai那麼漂亮,但尚可接受。從網頁介面看來,應該除了官方機器外,也有來自社區的機器才有辦法便宜。

RunPod也支援docker container。官方預設非常多的docker image,直接指定PyTorch就可以開箱即用。設定好ssh金鑰以後,就可以使用金鑰登入web terminal還有Jupyter。putty我始終連不到,好在web界面夠好用還支援複製貼上,我就使用web terminal加Jupyter,目前模型訓練已經完成了。

本座存了$10,應該會把它當成vast.ai不能用時的備胎。畢竟vast.ai價格還是漂亮點 XD

全文連結

星期二, 8月 01, 2023

尼爾:自動人形 Ver1.1a 第一集心得

 


今天看了第一集的 Nier動畫。遊戲本體在我Steam收藏庫躺非常久。從剛上 PC優化還很爛的時代,一路躺到 Sony修好了PC優化,不需要特殊外掛做優化,才被我認真拿來玩。不過我玩到第一個結局就結束了 XD 第二輪 9S 視角還沒有動力玩~

對於遊戲印象非常不錯,包括整個致鬱的背景和真相,3A 的畫面,更重要的是優美的音樂,音樂好到幾乎可以說才是本體,遊戲是買音樂送的。所以看到巴哈有動畫就來看一下 XD

作畫和音樂來說。遊戲和動畫作畫有顯著差別。動畫角色有點塑膠感,跟整個金屬風格的背景有點格格不入,反而是作為反派出場的歌利亞機器人,因為維持 3D 金屬外觀的關係,能夠維持 Boss氣場。音樂方面,動畫搬運了遊戲的音樂和CV,因此水準非常高。CV 表現可圈可點,2B 的外冷內熱、9S 的情感豐富和話癆都充分還原 XD

動畫的節奏控制就不習慣了。第一集開場到打歌利亞的過程,在遊戲裡面是高難重頭戲,要接連戰鬥約一小時才能見到第一個存檔點。玩遊戲的時候如果一周目就選 Hard 甚至不一定能活著看到Boss,本座當初搞不清楚狀況直接選 Hard 就躺了好幾輪。Boss 一言不合就揮巨大金屬手臂也是很有壓迫感。在動畫中,艱困的戰鬥被嚴重壓縮,變成敲幾下就解決對手,看了不習慣。

整體而言,作為喜歡遊戲的人。看到遊戲變成動畫,作為粉絲還是很感動。動畫也也重現了2B9S重要的活動和場面,例如第一集最後拿出 Black Box ○○。

第一話個人打分,應該是普通以上。如果哪天想起來可能會去看一下的程度。此打分必須參考本座大叔年紀做校正。上年紀後看動畫的慾望和時間大幅減少(難道說上了年紀就一定要玩結婚生小孩嗎QQ),跟部落格大學時代比起來更為明顯。本大叔打到這個分數應該算高了 XD

全文連結