2025年9月11日 星期四

500 Days Of Summer (2009)

前言

在上個月寫上一篇文章時,Blog主提到了一部學生時代的電影《回到17歲》,文章打一打其實有點在意,而且內容差不多忘光了,想說順便回去看一遍。當時想說這部應該算面向青少年的電影,用詞應該不難,乾脆用原版的英文字幕看算了。Blog主這幾年有時候看到喜歡的電影,會在第二次開始用英文字幕看,不過因為都是戰爭片,有些用語不是很日常,如果我第一次看可能看不懂。

而這次算是蠻特別的,《回到17歲》是對話很日常的電影,加上劇情不複雜。總之,Blog主先試了用英字看,中間暫停了幾次查單字,大概不到10次,覺得意外的爽快。所以我問了ChatGPT,當時剛好出了GPT‑5版本,跟他說《回到17歲》我大概查了10次單字,上次多益875,想要幾部符合我的程度的類似作品。ChatGPT丟給我好幾部,大部分都是愛情相關的電影,平常很少自己看。我難得看了其中一些,有些覺得還可以,有些看前半段覺得太無聊放棄,但其中有一部,Blog主感受很深,非常中意電影想傳達的真意以及主角的行動,就是本文的主題,《500 Days Of Summer》。

500 Days Of Summer (2009)

電影的一開始,旁白就告訴你這不是一般的「男孩遇見女孩」故事,當下心裡想「哈!大家都這樣講」,然後就在最開始,電影就告訴你悲劇的後半部,然後不斷的跳時間軸,呈現關係高潮與低潮很鮮明的對比。悲劇的愛情電影也不少,不過很多都是刻意營造催淚的劇情,這部卻不是,這部讓你感覺到男主角的痛苦,但不催淚,用很真實,讓人從生活經驗就能共感的方式呈現出來。

而且我很喜歡這電影傳達的主題「沒有真愛」,還有各種描繪情境的細節,闡述男主角的迷惘,幻想,痛恨,覺悟。同時,電影也完全沒有把女主角刻畫成壞人,女主角嚴格來說沒做任何壞事,對男主角沒有惡意,甚至給了很多善意,女主角只是隨著自己的心情走,忠於自己的感覺,這點也非常寫實。編劇的手法很棒,描繪一方恨意的同時,卻不偷懶,粗暴的把另一方描寫成一個爛人。儘管題材內包含了許多痛苦的元素,其實這部電影裡面有各種好笑的橋段,個人也蠻喜歡的,Google搜尋時也會跳出「喜劇」的分類,但別被誤導了,這些橋段只是配菜。

以下是一些個人特別印象深刻的內容,以下劇透會越來越多,還請注意。

女主角的眼神

電影一開始用「普通女孩」來切入介紹女主角,Blog主剛看電影的時候,也覺得女主角不是特別有魅力,不過隨著劇情推進,飾演女主角的Zooey Deschanel的眼睛變的超級吸引人。很有趣的是,Blog主以前其實看過她演的其他電影,最有名的是Yes Man,但當時卻不會覺得眼神特別有魅力,也對這位女演員沒什麼印象。看完本作後,Blog主偶然看到男主角Joseph Gordon-Levitt的訪談,他談到導演Marc Webb如何刻意挑選背景的顏色,女主角的服裝顏色,來凸顯Zooey Deschanel藍色的雙眼,Blog主頓時豁然開朗。在我能認知與不能發現的地方,都是導演的精心設計。

Expectations / Reality

另一個Blog主印象很深,實際上也很有名的片段。其實電影裡,整部片都是男主角的視角,讓觀眾深入男主角的心境。在這片段,男主角其實已經折磨自己很多次,接著以為看到了希望,結果是當頭棒喝,反差之大。導演也在這邊做了非常巧妙的手法,用了同個時間軸,同個視角,讓觀眾直接左右同時看男主角的想要的跟現實發生的。前面提到的男主角演員Joseph Gordon-Levitt的訪談,甚至是女主角演員Zooey Deschanel的訪談,兩人都有讚譽導演在這段呈現方式之巧妙。

對普遍愛情文學,相關商品的批判

It's— It's these cards,and the movies, and the pop songs—They're to blame for all the lies...and the heartache, everything.
And we're responsible. I'm responsible. I think we do a bad thing here.
People should be able to say how they feel—how they really feel—not, you know, some words that some strangers put in their mouths. Words like "love"...that don't mean anything.

也是一個Blog主特別喜歡的橋段,在設計祝賀卡片的公司上班的男主角,傷心欲絕的時候,去了公司,在開會上忍不住噴了一頓自家產品,還有市面上的其他作品,說這些東西都在誤導大家表達所謂的「愛」。這時男主角從真愛信者變成不相信愛的男人,認知的世界正在崩潰,對歌頌或著鼓勵愛的內容感到錯誤,覺得膚淺。Blog主很喜歡這些認知「真實的痛苦」的話語,同時也能對男主角對市面產品的批判共感。

講到這裡突然想起新島夕,一個Blog主很喜歡的エロゲー的劇本家,在他的作品也很常穿插真實愛情的痛苦,對真愛的批判。而且跟本作一樣,新島夕也會在悲劇的氛圍上加搞笑,結尾加了一點遺憾。本作的導演跟新島夕都不禁讓人覺得,是不是把自己的想法投射到這些批判愛情時的台詞上。

你面對現實,吞下痛苦,重拾自己喜愛的事,找到真正想做的事,往前走

最後男主角可能還沒完全走出來,但他決定辭去工作,回到原點,追尋原本想做的事。但由於多年的空白或各種理由,找工作不是那麼順利,他仍然堅持追夢。Blog主覺得,與其渾渾噩噩的去找下一位替代者,不如打起精神,把痛苦轉換成動力,專注在自己身上。儘管可能有人認為男主角整部電影很廢,但對我來說,那正是男主角最發光的時候,也是勇氣的瞬間。最後劇情也逗趣的給了一個小轉折,柳暗花明又一村,世界上沒有絕對的事。當然情況稍微不同,時間軸也更長,但Blog主也經歷過類似的路程,很讚賞電影想傳達的思想。

延伸閱讀

在這之後,Blog主也有再請ChatGPT再以500 Days Of Summer為基礎再推薦一次作品,不過都沒有本作優良,有電影甚至讓我覺得傳達的內容像毒藥一樣,乍看看似相同,但根本作是完全相反的涵義。但仍有一部個人覺得值得一提,Up In The Air (2009),有喜劇的片段,也有現實面,但沒本作這麼深刻,推薦看完500 Days Of Summer後,可以看這部。另外,有一位歌手NF,Nathan John Feuerstein,的作品也很推薦,這兩年Blog主很中意,他的歌詞道盡了現實。

總結

Blog主沒想到有天會在這個Blog上寫愛情電影的心得(笑),應該是十幾年來首次。不過同時也代表這電影有多麼特別,而且傳達的概念很不錯,會想推薦給陷入深淵(過)的朋友們。痛苦無法避免,但可以背著它往前走。「足を止めたら駄目です。進めるなら、進むべきなんです。」雖然台詞的背景不同,但本Blog的副標題,クラナド的台詞,包含了相似的啟發,Blog主也趁此機會,再次勉勵自己。

2025年8月20日 星期三

Battlefield 6 Beta:回到17歲

前言

2009年有部電影上映,叫《回到17歲》,大概是受《歌舞青春》的影響,記得當時下映後,有在家裡看這部電影,Blog主那時候大概在高中,可能有17歲或著還沒到。電影內容不是太複雜,估計當時也有看懂,總之就是主角中年之後再回去體驗一次17歲的生活,不過正年輕的時候看,仍然有些置身事外的感覺,況且,Blog主的高中生活,雖說精彩,但不是電影裡主角的那種方式。

懷念的C4車

就這樣時間過去,Blog主也幾乎忘了這部電影,直到最近BF6的BETA出來,跟朋友們玩了兩個禮拜的周末,非常享受。原本這個月想寫掃膠捲的文章的,突然想說可以寫個文章記錄BF6 BETA,突然一瞬間想到回到17歲這個字眼,才想起這個電影。玩BF6 BETA像回到高中/升大學那時跟朋友玩BF3的感覺,不是PVE的合作,也不像CSGO那樣很嚴肅的PVP,而是在PVP的環境,有很大的空間,可以合作認真玩,也可以很智障的一起幹蠢事,發掘小東西。當然不順心時,還是會不爽,但跟COD或CSGO相比,輸贏對心情的影響程度少很多。

本文並沒有要專注在介紹遊戲,而是偏向雜談,稍微回憶過去,也講一些這次的心得。

重製這件事

講到互打擂臺的COD跟BF,這幾年開始重製的是COD,重製了經典的現代戰爭兩代,不過個人回憶最多的二代,卻沒有單獨重製多人模式,而是把舊地圖放到重啟的MW多人裡面,而且MWIII正是各種課金奇怪造型的巔峰,身為老玩家看了很無奈,很破壞氛圍。BF則是在BF2042裡面用Portal模式讓人能懷舊前面幾代,但槍枝射擊感都是維持BF2042的風格,加上遊玩人數很少,有玩了一陣子,但體驗不是很好。

其實不需要"重製"

撇開COD單人的重製,在MW重啟的2019年初代,個人覺得多人跟單人的體驗都不錯,用傳統的元素再增加更多新技術的細節,沒有奇奇怪怪的造型,單人劇情也夠細緻。BF則是自從BF4之後,Hardline用警察主題,之後幾代都不是現代戰爭,這次BF6算是大回歸,現代戰爭為本體,沒有奇怪的技能跟超能力,莫名其妙的造型,配上類似舊作的兵種分工機制,有花心思的地圖設計。BETA完全沒用舊地圖,證明不需要重製,用經典的元素就能攬客,看看這次BETA龐大的遊玩人數。

We are so back

除了跟BF3類似的遊戲內容,當初一起玩BF3的兄弟們,同時讓Blog主覺得回到17歲的另一個是Youtuber:Threatty,jackfrags,LevelCapGaming...等,這些在當時BF3時代主要的頻道都熱烈討論,其中,特別是BF4後越來越少出影片的Threatty最為明顯,也做了久違的FULL METAL,有種當初BF3生態圈都回來的感覺。

期待之中的擔憂

在期待之中,這次BETA也有讓Blog主擔憂的部分,現在大型地圖不多,至於沒有Server browser我覺得有好有壞,以前BF3/4很破壞體驗的是私人的伺服器會有特殊插件,譬如自動隊伍平衡,在快贏的時候被強制死亡調去輸的一方,或著進去才發現有特定武器不能使用,所謂Server獨自規則,但好處是可以一直跟同一批人玩,朋友超出4個人也能一直維持同伺服器,作弊者能強行被管理者Ban掉。講到這,最擔憂的就是外掛問題,當初BF1也有不錯的遊玩體驗,但最後的殺手是外掛破壞遊戲,官方無作為,也沒有私人伺服器能Ban作弊玩家,讓人越來越失望,最後正常玩家都走光了。

總結

這次的BF6 BETA,Blog主非常樂在其中,有好一陣子沒有這樣的體驗了,BF3是個人青春的一環,與兄弟們有很多回憶在裡面,而這次的BETA真的讓人感覺像回到17歲一樣。真心希望正式版能有改善,而且能積極處理外掛。最後來個題外話,希望EA做好BF6之後,能放開Criterion Games回去做NFS系列,照目前的樣子2027年有沒有新作都是個謎。大家很常揶揄EA,但個人從2013年開始的每片NFS大作都頗享受的,希望BF做起來後,NFS也能維持水準。

2025年7月21日 星期一

GR86使用9個月 & 筑波サーキット コース2000 初體驗

GR86使用9個月

這張是在天城高原拍攝的,應該是目前為止開過最高的地方

不知不覺,Blog主的GR86已經入手9個月了,平時使用頻率大約一個月4~6次,里程數從剛入手的三千六公里到現在的八千五公里左右。目前8成是假日出遠門使用,不然平常去附近超市也是徒步,偶爾去遠的超市大量購買才會開車。日常使用上,跟當初期待的差不多,平常兩人的出遊,採購完全足夠,坐第三個人還可以,不過第四個人開始就比較麻煩,因為駕駛座後面的位子要先進副駕後座才能跨進去,上下車更費事,但姑且能載人。而且Blog主大約9成時間都只有兩人出門,已經非常夠用。

日常的大量採買,2~3禮拜份的食材也完全足夠
(雖然也快滿了就是)

手排方面,開了大約1~2個月就能熟悉,大概再2~3個月就連上坡起步都沒壓力了,最初的緊張跟辛勞克服過就好了。雖說開習慣了,但現在長時間3~5小時的駕駛,油門還是會踩到腳跟很酸,主要是踏板偏硬,不適合長途。還好MT的C型之後也有ACC,在確認自己已經習慣高速公路後,這個月Blog主才開始使用ACC,高速變得稍微輕鬆點,不再腳跟痛。另外,冬季特有的問題,車輛低速到靜止的區間剎車特別吵,但並非故障,屬於剎車特徵只能習慣。

日常偶爾遇到塞車,或著走走停停的爬坡時,確實會有一瞬間想要自排車的想法,或著親朋好友來日本,要裝很多行李時,也會一瞬間想要更大空間,但就如之前的文章所說,這些需求只要租車就能滿足。雖然無法涵蓋每個日常需求,但日常與賽道兼用,才能發揮到這輛車的最大效用,這也是下面的主題,賽道體驗。

筑波サーキット コース2000 初體驗

今年(2025年)7月,Blog主終於實際跑了筑波サーキット的本場:コース2000,有別於去年11月去富士スピードウェイ,這次是在虛擬世界很熟悉的賽道,而且能在沒有先導車的狀態下自己跑,以下是這次Blog主重新體驗到的內容,以及這次改善成功,還有反省的點。

重心轉移

這次參加的也是TGRD主辦的活動,從BASIC班進到ADVANCE班,同樣是駕駛教學間穿插了課堂教學,內容大同小異,都還是圍繞在重心轉移跟輪胎摩擦力變化上。早上在Gymakhana場的駕駛課,也著重在過彎時的重心轉移上。下午在本場Course 2000的駕駛階段,也是重心轉移的活用。同時,這次在參加活動之前,Blog主在GT7裡也練習了一段時間,不過在家試總是只能間接推測重心的位置,用前輪轉向的反應與後輪加速的抓地力判斷。這次實際下場比起練習速度跟Line,更著重於體感重心變化,讓身體習慣賽道速度下的變化。

G力

跟著重心轉移一起的是G力,因為有在GT7事前練習,熟悉每個彎失控的極限速度,知道了安全範圍,比較敢踩油門,過彎當下也才知道目前的G力完全正常,不用擔心失控,事後Blog主覺得有這份安全感很重要。實際的G力,是Blog主以前看影片或玩遊戲很難體驗或想像到的。特別是Course 2000最後的長右彎,膝蓋頂到腿部空間左側時,跑幾圈頂到都痛起來,超出Blog主的想像。

聲音

另外一個是聲音,在Course 2000最後長右彎前的直線,能夠一路從3檔60公里加速到4檔140公里左右,3檔一路踩到6000轉以上的聲音,真的好震撼。平時在公道駕駛都3000轉左右就換檔,包含上高速公路,很少有開超過4000轉的時候,所以聲音不大。也因此以前一直覺得遊戲收錄GR86的聲音被誇大了,但經過這次後,反而覺得是遊戲小聲。雖說6000轉平時在公路也能辦到,但Blog主還是想把這個聲音體驗保留在賽道,未來日常使用還是維持在低轉速。

改善點

自從上次TGRD的活動後,這次改善了幾個以前失敗的點:

  • 事先練習賽道
    • 在GT7裡用原廠GR86 MT硬胎,Course2000練到1分7秒前半
    • 虛擬環境下知道失控的極限,現實環境下在安全範圍內開快,才有餘力去體會其他現實才有的細節
    • 有練習受益非常多
  • 座位高低以及方向盤距離
    • 這次花更多時間在沒戴安全帽的情況下,先調整座位
    • 座位調低,往後仰,視線看更遠
    • 同時屁股不會隨意前後移動,防止緊急時影響腳踩剎車
    • 座位低,視角遠的情況,在單純用三角錐圍起的場地裡,會更難目視附近的三角錐,這時需要用記憶位置的方式駕駛
  • 戴安全帽下的座位仰角
    • 很簡單的事,但之前失敗的其中一點
    • 上次練習時段不用安全帽,結果本番戴上安全帽發現頭前仰了,連帶視線也往下,很糟糕
    • 戴上安全帽後,視情況座位再往後仰一點,能讓視線回到遠方

反省點

而這次Blog主也有覺得能再改進的地方,個人覺得必要的〇,視情況需要的▲:

  • 注意旗手〇
    • 沒養成習慣,跑到賽道的各定點時,看一眼旗手
    • 沒有習慣的狀態下,看旗手會分散注意力
    • 作為練習,以後就連在遊戲內,也習慣性每個彎都看一眼旗手台
  • 多帶兩升水〇
    • Blog主這次去筑波サーキット是7月,氣溫35度,幾乎暴曬
    • 原本只帶了750ml的水,但早上就喝光了
    • 現場有提供冷飲,但都不是白開水,個人覺得沒有真正解渴
    • Blog主下午的本番有次下車後暈眩,蹲在地上無法動彈,估計中暑或興奮有關,還好之後吹冷氣喝水回復,沒有在場內發作
    • (雖然喝多水代表車內想上廁所機會也變多就是,但總比中暑好)
  • 胎壓檢測▲
    • 天氣炎熱,估計輪胎氣壓有升高,但手上沒有胎壓檢測工具
    • 這次只有在安全範圍內跑,輪胎抓地力仍足夠,影響不大,但未來要跑更快就要注意
  • 退檔補油▲
    • 不會退檔補油,降檔速度比在模擬器慢很多
    • 過彎要求重心在前,要維持剎車慢慢放掉,因此只能用跟趾
    • 未來在日常打算多多練習
關於退檔補油會掛▲的原因,職業車手,山道出身御三家之一的織戸学,自己也在「普段からできるシフトテクニック上達法」裡表示,儘管自己很講究跟趾,卻同時表示自己目前大部分情況都不用跟趾(ほとんどヒール&トーやってないことも多かった),取而代之的是用半離合器操縱引擎轉速,掌控輪胎的驅動力。Blog主自己也想好好練習退檔補油,但是用多學一個技巧的心態。其實在GT7裡也能用半離合器為主軸練習,但接上離合器的瞬間沒有任何震動,所以比較難體感接合的位置。

時間

參加活動前,Blog主在GT7的最快成績,1:07前半
參加活動後,同樣GT7內則有進過1分6秒

前面也有提到,參加活動前,Blog主在GT7裡練習,用原廠GR86 MT硬胎(=新車買來沒任何更動調整)跑Course 2000的成績是1分7秒前半。做為參考,GR86的開發車手,佐々木雅弘選手,原廠GR86實車的成績是1分6秒中盤。

由於活動沒有實際測秒,所以是事後用影片計算秒數

這次實際下場,當然沒用GT7裡面自己的極限速度,而是離極限少10~20公里左右過彎,剎車點跟Line的邏輯則一樣,但是Line修正為只用柏油路面部分(=不跨上彎道邊緣),第一髮夾彎結束進Dunlop灣前的部分,從無剎車改成有剎車,可以說非常安全的跑法。總之,大約跑了完整十圈,其中五圈沒有受前車影響,時間都在1:26~1:27,幾乎是GT7裡大雨情況的速度了。儘管如此,前述的G力跟聲音,還有重心移動的體感,仍然非常刺激。第一次下場,Blog主已經很滿足了,體驗到刺激的部分,同時能安全的把車開回家。

總結

以上是Blog主日常使用以及這次初體驗筑波サーキット コース2000的心得,特別是後者,由於多了事前準備,更有餘韻能體感各個環節,對Blog主來說,是震驚也新奇的體驗,有點像是在一個已知的世界裡,體驗了新世界一樣。最近應該繼續在日常駕駛和在GT7繼續磨練技巧,未來有機會再上來跟各位分享心得。

2025年6月30日 星期一

CH160 MESH購入裝機 & Local訓練LLM的雜七雜八

前言

前陣子把原本用Ryzen 5 3600XT+MSI MAG B550為基底,ATX大小,插GPU專門跑LLM的Proxmox機,換成ITX大小,同樣能插正常Size的GPU,也更省電的基底,用了2~3個月還頗滿意的。想說這個月就寫一篇當初購入機殼跟組裝,以及這陣子搞LLM的小心得。

CH160 MESH購入/裝機



自從去年(2024年)購入了第一張ITX主板後,Blog主就一直在看有無合適的ITX機殼。市面上有些機殼主打ITX但其實體積很大,有些則內部空間太小很難組裝,不然就是GPU大小限制很多。當時DeepCool出了CH160,剛出來的時候只有玻璃側板,後來又出了鐵網側板(MESH)的版本。相對簡單的組裝方式,CPU散熱器與GPU大小的相容性都不錯,同時也有還算小的機身,讓Blog主很感興趣。追蹤價格一段時間,2025年3月左右Blog主才下手,終於組了第一台ITX的PC。

以下是簡單的規格:

尔英 I5-12500H ITX + Noctua NH-L9i-17xx chromax.black
NVIDIA Quadro P6000
Fractal Design ION SFX 500G 
DeepCool CH160 MESH
Kingston FURY Beast DDR4 3200 32GB×2 KF432C16BBK2/64


這張左岸的ITX主機板原本是為了實驗Proxmox內passthrough內顯用的,當時預定用途是ITX的NAS機,但一直沒完成,這個功能被後來購入的DXP4800 Plus取代。剛好手上也缺一個省電又有力,也能插顯卡的小機子,就拿這張跟本次介紹的ITX殼湊上。這張板子配的12500H正如名字,原本是筆電版本的CPU,但被焊在ITX主板上,也可以正常使用一般的散熱器。

由於是筆電CPU,PCIE插槽是閹割版本的4.0X8,如果拿來玩遊戲可能會遇到預期外的瓶頸(除非顯卡本身剛好就是4.0X8,像是RTX 4060),特別是配上3.0X16這種上世代正常長度的PCIE規格的顯卡,會導致實際速度變成3.0X8,玩遊戲重新載入資料的速度會切半。但由於Blog主主要的使用情境是LLM,通常模型只需要讀取一次就一直存在GPU的RAM上,所以效能影響很小。

RAM的部分,雖然原本大機子就有一套64GB,但外觀不搭這次的機子,Blog主為此新買一套FURY Beast的64GB Kit。實際上在Proxmox的VM裡面訓練模型時,32GB的RAM就很夠用,24GB偶爾會吃緊,因此Blog主習慣Host準備64GB,再分給VM 32GB。Blog主買的當下DDR4的RAM算很便宜了,剛好執筆的當下,有傳聞未來會因為減產而漲價,如果為真,或許就是買到最低點了。

GPU的部分,這張九年前的P6000是2024年Blog主回台時哥哥送的卡,在現在新卡的VRAM越給越少的年代,儘管老,但P6000的24GB非常好用,如果使用量子化來Fine-tune大小在7B~14B的LLM,24GB不是問題,比Blog主手上只有10GB的RTX3080好用太多了。

MINISFORUM Elitemini B550配上無需插電的RTX 3050 LP,就不需要額外的PSU供電了

最後是電源的部分,Blog主用的這台SFX-L規格的電源,最初是拿來在MINISFORUM Elitemini B550用的,不過實際上裝GPU跑的次數很少,後來又買了一張RTX 3050 LP,不用額外電源的,需要外接電源的機會就更少了。後來這顆PSU就變成測試用電源,因為小巧方便,這次組ITX機就把它用上了,在這之後Blog主還有入手其他SFX電源,也許未來再上來分享。

這台新機Blog主的功能定位是,不需要用LLM等生成AI時可以收進櫃子裡存放,需要時可以依情況放在隨意一個有網路插頭的地方,沒有亮光也不吵,就算放在臥室跑24小時也不影響睡眠,要放客廳或房間也不占位。

Local訓練LLM的雜七雜八

Blog主第一次自己訓練LLM是在2024年初,當初發現公司有些需要人力整理的作業,其實能透過Fine tune過的LLM達成自動化,當初Meta還在llama2,Blog主自己用llama2訓練出來的效果差強人意,不過今年(2025年)初使用llama3訓練出的效果就很讚,在公司的評價也不錯,效果甚至比同時期人氣的幾個reasoning model更好(當然,Blog主認為主要是Fine-tune的效果問題)。

除了自己訓練LLM以外,現在有不少免費LLM服務,效果也都很好,但大多限制使用次數,個人覺得幾個比較適合自己訓練LLM的情境在於:

  • 不想課金
  • 需要某種程度的經驗或知識才能判斷的內容
  • 這些無法透過機械式的邏輯做判斷的作業
  • 某種特定的回覆方式,文法
  • 不想連網的私密資料
  • 大量的輸入或輸出

以上只是Blog主的想法,現在LLM進步很快,免費的服務也在互相競爭進步,很多小眾的需求能被用更通用的服務解決,也不一定要自己訓練LLM,只不過自己動手也有增加知識的機會。

至於訓練的過程,最普遍的是用Hugging Face上面的資源,通常網路上其他人提供的Notebook也都是用Hugging Face的訓練套裝Package,各家公司也在Hugging Face上傳自家的模型,另外也有很多再訓練或量子化的模型。Blog主第一次自己訓練LLM,也是參考很多網路上的Notebook湊出自己專用的流程,這些網路上的資源都是無償提供的,但也常常會功能不齊全,或著Package要求的版本不一,跟其他範例衝突無法使用...等等,以前會花很多時間處理相容問題。

後來Blog主喜歡直接上Unsloth的Blog找他們的Notebook,Unsloth簡單來說是一個開源的LLM訓練工具,能完全跟Hugging Face生態系融合,而且也能加速及減少VRAM使用量,不過最吸引Blog主的是他們提供完整的Fine-tune Notebook,從訓練到檢測,儲存,讀取再使用,一個能執行到底的完整流程都有,而且在他們的Blog上隨時更新主流的新模型的訓練Notebook,年初很熱門的Reasoning model相關的Fine-tune他們也有一系列的Sample。

總結

本文半雜談的介紹目前Blog主跑LLM的機子,以及一些訓練LLM的內容。其實會想自己訓練LLM大多是比較小眾的需求時才會用到,不然Blog主平時也都用免費版的ChatGPT就夠了,只有偶爾會碰到使用上限。現在還在AI/LLM的熱潮裡,從以前到現在AI的熱潮都是起起落落,不知道這次會持續多久,各家軍備競賽結束後,免費使用的AI服務也不知道能有多少。

2025年5月28日 星期三

迦太基與古羅馬的名將:漢尼拔與大西庇阿

前言:《羅馬人的故事》


之前讀法國史,從高盧到自由法國,發現不少周圍相關的史事都不瞭解,索性又找了一套《羅馬人的故事》來看,這套書是旅居義大利的日本作家寫的,據說在當地也有得獎。雖說是羅馬歷史相關的書,也是照時間軸寫的,同時考證也不馬虎,但就如書名《羅馬人的故事》一樣,內容聚焦在「羅馬人」的各種故事上,相比起單純用時間軸陳列史實,個人覺得很好讀。

套書的第一本,Blog主覺得有些小細節有趣,也得到我想要的-「看一遍以前發生了什麼事就好」,但到了第二本,羅馬開始與迦太基打仗,第二次布匿戰爭,裡面的會戰使用的戰術,讓我為之驚艷,而且到現代仍是歐美士官校必學的內容。在Wiki上查到會戰的資料,示意圖還是來自西點軍校製作的,讓Blog主大開眼界,不僅重頭讀了第二次,也寫筆記到Git上保存,還有蒐集會戰示意圖,加上自己的心得,第二本花了很多時間才完全消化完。

Blog主自己的筆記是照時間軸寫的,而這篇文章則是抽出幾個Blog主這次才知道的新知,有趣的內容,個人覺得日常也受用的觀點...等等。

迦太基&西元前北非的氣候

共三次布匿戰爭的主角之一,與羅馬打仗的迦太基,Blog主在這之前完全不熟,只在文明帝國裡,偶爾會看到「迦太基」的名字,因為名字很奇特所以有印象,但當時沒特別多查。西元前3世紀左右的迦太基海運技術發達,商業收入高,與羅馬的戰鬥也多是使用雇傭兵打仗,只有管理階層是迦太基本國人。

而有趣的是,迦太基位在北非,同時卻盛行農業,Blog主這才知道,在當時北非的氣候與現在不同,擁有肥沃的土地。在第二次布匿戰爭後,儘管在羅馬的霸權下存活,但農產品仍豐富,商業活動頻繁。第三次布匿戰爭,迦太基城被羅馬全毀,目前在北非的迦太基遺址,大多是第三次布匿戰爭後,羅馬時代建造的,所以已經不是古迦太基遺留下的城市。

騎兵與沒有馬鐙的年代

另外一個有趣的是,當時馬鐙還未被發明,加上羅馬很少產馬,只有貴族才有機會從小訓練騎馬,所以羅馬軍團裡步兵跟騎兵的比例是10:1,主力是重裝步兵,同時羅馬也不重視騎兵。第一個發現騎兵淺力並運用在戰術上的是亞歷山大,而之後跟羅馬打仗的漢尼拔,也是利用騎兵的靈活性,創造不同的戰術,第二次布匿戰爭初期,讓羅馬吃了很多虧。

使用大象作戰

在看古羅馬的歷史前,Blog主完全不知道原來以前大象被拿來作戰,在西元前似乎是新型作戰用的動物。在第一次布匿戰爭(西元前264年~前241年)時,羅馬人也並未習慣跟有大象的敵人作戰,而從北非來的迦太基軍隊則很常使用大象作戰。但同時,大象作戰也有很多缺點,後來羅馬人漸漸熟悉了對抗大象的作戰方式,其中一次的會戰,執政官的戰略也頗有智慧。

羅馬人並不是第一次見識到大象的破壞力。頭一個利用大象攻擊羅馬的是伊庇魯斯的皮拉斯國王。羅馬軍隊與皮拉斯的第三次對戰中,即戰勝了大象,但這已經是二十五年前的事。看到象讓羅馬人想到的是四年前雷古拉斯的敗戰。當時的戰鬥,有八千名羅馬士兵被象群踩死。為避免面對數目更多的象群,羅馬軍隊絕口不提攻略馬爾沙拉之事。

在平原會戰幾乎已是不可能,羅馬軍隊看到大象便不再前進。無論將官們如何斥責,他們仍待在壕溝裡死也不出來。在海上害怕暴風雨,在陸上害怕大象,那一年完全不見羅馬軍隊的蹤影。
在執政官選舉期間,防守巴勒摩的工作交給執政官梅他爾斯,他認為首要工作是去除士兵對大象的恐懼。

原本圍繞巴勒摩市街的城牆外側,有壕溝來防衛。梅他爾斯命令再挖深一點,並將底部挖成連人都無法步行的寬度,同時打破傳統,將大部份的士兵配置在城牆內側。迦太基軍隊知道僅有一位執政官留守的消息,挾以旺盛的氣勢,在巴勒摩城外布陣,蓄勢待發。

面對迦太基軍隊,梅他爾斯執政官不用重裝步兵,改派輕裝步兵,以標槍為主要武器,等待迦太基軍隊的象群越過巴勒摩附近的小河。然後,當象群後方的敵軍主力部隊過河時,再朝象群射出標槍,射完之後拼命跑入城牆內。

大象一旦開始跑便很難停下來,而此時的象群因身受羅馬士兵的標槍而發怒,在煙塵彌漫中往前衝的象群,很多都正好掉進壕溝裡。即使是在壕溝前停下來的大象,也因傷口疼痛而不願再聽「車伕」使喚,使象群後方的迦太基軍隊被憤怒狂亂的大象踐踏。

此時,梅他爾斯下令重裝步兵團攻擊慌亂的敵人,跑回城內的輕裝步兵則出現在城牆上,向壕溝裡的大象發射標槍。

巴勒摩的攻防戰由羅馬軍隊獲勝,除捕獲十頭大象外,其餘皆加以射殺。迦太基軍隊方面戰死二萬人,只有極少數與指揮官逃回馬爾沙拉。
成為勝將的梅他爾斯發行刻有大象圖案的紀念銀幣,能克服對大象的恐懼,比成功防衛巴勒摩更值得紀念。


有趣的是,當時的執政官,在現在的維基百科頁面(執筆當下沒有中文頁面),照片就是故事內的紀念銀幣,因為書內看不到這枚硬幣,Blog主也是在網路上查到的。

第二次布匿戰爭:漢尼拔與大西庇阿(書內譯為西比奧)

在第一次布匿戰爭吃敗仗的迦太基將領漢尼卡,在當時還未開發的西班牙開拓新天地,並賺了大把資金,為了就是要準備復仇。漢尼卡的兒子漢尼拔,從小就被教育了對羅馬的憎恨,長大後發揮了天才般的戰略,幾乎要擊垮羅馬。而之後在羅馬陣營崛起的大西庇阿,除了天分外,也學習了漢尼拔的戰略,可說是漢尼拔的徒弟,儘管在不同陣營。最後兩位名將在札馬戰役(Battle of Zama)分出高下,現實比虛構還精采。

在羅馬的傳統戰法都是正面對決,但漢尼拔偏好出人不意,玩心理戰的手法,初期讓羅馬招架不住,也是這樣才訓練出羅馬新世代將領的作戰思維,而大西庇阿正是發揮到極致的一位。兩人的性情雖然天差地遠,但在作戰或領導上都有類似的特點,像是很會連哄帶騙的跟手下喊話,對蒐集情報的執著,主力與非主戰力的相互活用,最後一個,個人覺得特別是漢尼拔玩到爐火純青的,操縱敵人的心態。先用情蒐來推斷敵方將領性格跟士兵士氣,時而故意敗北來讓對方輕敵,時而激怒對方而衝動,抓到情緒的節奏,同時再配合地形氣候還有適合的陣型變化,一舉拿下敵人。

漢尼拔穿越阿爾卑斯山

其中一段漢尼拔艱辛的穿越阿爾卑斯山,在下山前準備襲擊羅馬軍時,激勵士兵的方式,讓Blog主反覆看了很多次:

漢尼拔同樣在軍營集合士兵鼓舞士氣,但這位迦太基年輕人的作風與羅馬的名門貴族柯爾涅留斯的作風完全不同。

漢尼拔命令士兵們圍成一個圓圈,將翻越阿爾卑斯山時俘虜的高盧人置於圓圈中。高盧人被沉重的枷鎖鎖住,他們自從被俘虜後就未曾進食,顯得十分瘦弱;因為沒有衣物遮蔽,沿途也因寒冷而被凍傷,連站著都有困難。

漢尼拔命令部下把枷鎖解開,並透過翻譯說:

「准許自願者,進行決鬥。勝者馬上給予自由、武器和馬。」

衰弱的高盧人都希望參加決鬥,隨即展開激烈的格鬥,在一旁觀看的士兵固然為勝者拍手鼓掌,但對那些敗陣迎死的高盧人,更報以熱烈的鼓掌。戰鬥結束後,二十九歲的漢尼拔對士兵們說:

「各位如果和今天的高盧人一樣,以求生存的意志來戰鬥,那我們就是勝者。今天的戰鬥正是反映各位現況的一面鏡子。

我們的東、西兩邊都是海,即使從這裡逃出去也沒有船。眼前的波河比隆河大得多,水流也更湍急。後面是阿爾卑斯山,各位好不容易才翻山越嶺過來,大概也不會有人想要重走一趟。

眼前我們的選擇只有戰勝羅馬軍或是戰敗死亡,如果戰勝了,將會有令人意想不到的報酬。只要戰勝羅馬軍,不要說西西里或是薩丁尼亞,羅馬人所擁有的東西都是你們的,羅馬所統治的土地都變成各位的。

各位已經充分休息了,從現在起,與之前走出西班牙、翻越阿爾卑斯山的旅程完全不同,辛勞也許一樣,但報酬大不相同。

我還不知道敵方的將軍是誰,但沒有人比得上我。我從小在軍營長大,父親是漢米卡將軍,經過從西班牙到義大利的長征,無人可與我相提並論。

這一戰我們必勝,戰爭結束後,無論各位想要迦太基、西班牙或義大利的土地,都可以給你,直到你們的兒子那一代均免徵租稅。想要金錢的,也會給你們等值的金幣,想要迦太基公民權的也會給你們。」

下山之後的漢尼拔,打了三場大型會戰,特拉比亞(Proelium Trebianum)會戰、特拉西梅諾湖會戰和坎尼會戰(Battle of Cannae),幾乎稱霸羅馬,沒有軍隊能抵擋,羅馬軍只能避免跟他正面對決,玩持久戰,但同時代表只能眼睜睜的讓漢尼拔掠奪羅馬聯盟的城市。

漢尼拔初期征服羅馬的三個會戰
Wiki: 由美國陸軍軍官學校歷史學系提供

坎尼會戰(Battle of Cannae)

其中,歐美士官校必學的會戰,就是發生在這邊的坎尼會戰(Battle of Cannae)。在這裡羅馬吃了前面兩次會戰敗仗,羅馬增強兵力從六個軍團到十三個軍團,打算用數量跟速度跟漢尼拔分高下。同時,也因為羅馬前面中了兩次記,變得格外小心,漢尼拔也抓準這個心理,先讓羅馬軍贏幾個小型會戰,增加羅馬軍自信,最後仍由少擊多,漢尼拔贏得最終大型會戰。坎尼會戰不僅僅是會戰中,漢尼拔的陣型安排,非主力部隊的利用,及包圍戰略的高明,而會戰前的心理操控也令人佩服。

漢尼拔在坎尼補充糧食後,不再移動軍隊,而在坎尼附近的山丘建築營地,等待羅馬軍的到來。

羅馬在接近漢尼拔十公里處停下紮營,由於羅馬軍在平野上紮營,因此軍營四周挖出深壕溝、圍上高柵欄,是個百分之百的陣營地。兩軍在平原上相距十公里對峙。

對峙不到二個月,兩軍出兵。

漢尼拔派二千人,羅馬方面大概也是相同的人數應戰。這種小規模會戰,發生好幾次。累積幾次小型會戰下來,羅馬方面的戰果較佳。其中一次,羅馬軍犧牲約一百人,漢尼拔軍卻犧牲一千七百人。漢尼拔軍的損失大多是高盧兵。而羅馬軍的士氣愈來愈高昂,大家都認為這次一定會贏。

三十一歲的漢尼拔就像撞球或橋牌中的老手對待新手一般,剛開始讓對方先贏一步,而好戲在後頭。
漢尼拔看穿這些羅馬司令官都懷著高度的警戒,避免掉入陷阱。所以要引誘他們會戰,須先解除他們的戒心,讓羅馬覺得他們握有主導權。

瓦爾羅將全軍集合在歐芳河的右岸。不選左岸是因為左岸是平原,騎兵容易發揮,比較危險。右岸的地形高低起伏不平,對騎兵占優勢的迦太基軍不利。

漢尼拔看到羅馬軍已完成布陣,便親自率軍渡河,在羅馬軍的正對面布陣。羅馬的陣形是一直線,而漢尼拔的陣形則成中央有弧度的弓形。

羅馬總司令官瓦爾羅所想的戰術,光看布陣就一目了然。配置在中央的步兵團陣形是縱列長形。以羅馬軍的主力重裝步兵,狙擊敵人的中央,因此選擇歐芳河及圍繞坎尼村丘陵間這塊比較狹小的戰場。但是這個陣形,對羅馬軍右翼的二千四百名騎兵而言,夾在河與步兵團間,必須面對三倍的敵人,較為不利。
雙方開打初期,羅馬軍較占優勢。瓦爾羅見此情形,命令指揮步兵團的前執政官西爾維投入重裝步兵團。羅馬步兵攻來,由高盧傭兵組成的漢尼拔軍前衛,從中央凸起的弓形位置,變成中央凹下的弓形。這個弓形陣形發揮了效果,讓羅馬步兵耗費更長的時間及兵力投入攻擊中央,高盧兵雖然一直後退,但仍撐得住。
由於中央受到羅馬重裝步兵的猛烈攻擊,漢尼拔的高盧兵已支撐不住,羅馬輕裝步兵與重裝步兵進一步結合,追擊退敗的敵人。

此時,高盧兵放棄防守,分左右兩邊散去。羅馬重裝步兵與突然出現的漢尼拔重裝步兵對上,這是漢尼拔長征下的精銳部隊,雖然只有二萬,面對七萬羅馬兵仍面不改色。

戰場中央的重裝步兵戰由羅馬軍取得領先地位,但騎兵戰方面則是漢尼拔軍較占優勢。

羅馬重裝步兵與漢尼拔的精銳部隊展開激烈戰鬥的中央地帶,羅馬兵的戰鬥意志與戰鬥能力漸失,漢尼拔的戰術開始出現效果。

漢尼拔的精銳部隊抵抗羅馬重裝步兵的猛攻,原本看似脫離戰線的高盧兵及輕裝步兵,朝著羅馬軍騎兵被逼退的位置前進,繞到羅馬步兵團的兩邊;接著,漢尼拔左翼騎兵在擊敗羅馬軍右翼後,繞到羅馬步兵團的背後;追擊敵人的努米底亞騎兵回到戰場,漢尼拔就這樣完成了他的包圍作戰。
指揮重裝步兵的前執政官西爾維戰死,選擇下馬與部下並肩作戰的執政官艾米里斯也陣亡,擔任獨裁官法比烏斯副官的米奴迪吾斯被殺,八十位加入騎兵或重裝步兵的元老院議員幾乎全部陣亡,能突破漢尼拔包圍網的人數極少。漢尼拔的包圍坎尼作戰發揮得淋漓盡致,完全殲滅羅馬軍,同時也達到使羅馬主力重裝步兵喪失主要戰力的目的。

坎尼會戰漢尼拔大勝後,羅馬退居守勢。漢尼拔反而陷入了攻城易,守城難的問題。一方面是出於羅馬聯盟城市的齊心向上,初期沒有城市倒戈。漢尼拔深入敵後,打贏勝仗仍要防備偷襲。中期開始有城市往漢尼拔倒戈,但羅馬也漸漸掌握了對抗漢尼拔的方式,雖不占上風,也不處於劣勢,只要漢尼拔開始移動,羅馬就開始攻佔漢尼拔離開的地方。漢尼拔守城困難在於,儘管有城市倒向漢尼拔,漢尼拔自身卻無法傳授戰術精隨給手下,讓手下防守這些城市,讓自己能抽身去攻略新城池,導致無法有效擴充領土。到了後期,大西庇阿出現,進攻漢尼拔的後援基地西班牙,再把戰場拉到非洲,也就是迦太基本土,打了跟漢尼拔對決的札馬戰役(Battle of Zama),第二次布匿戰爭才結束。

無視傳統與自尊心

如果仔細看布匿戰爭裡的羅馬與迦太基,或著更早的亞歷山大,勝利的關鍵都在無視傳統與自尊心,亞歷山大無視騎兵的自尊心與傳統戰法,命令騎兵走進步兵,或著碰撞步兵,只考慮軍隊的最大效率。沒有航海傳統的羅馬,在面對強大的迦太基海軍時,發明了所謂「卡拉斯鐵鉤」,違反傳統的外觀,讓迦太基海軍笑掉大牙,但卻讓羅馬硬把海戰變成陸戰,獲得勝利。之後迦太基的漢尼拔使用騎兵跟偷襲的策略,也算是無視傳統會戰的做法,讓習慣正面對決會戰的羅馬招架不住。

話又說回來,Blog主自認也是蠻守舊的人,有時發現自己被困在自尊心的限制裡,做出客觀上不理智的舉動。Blog主覺得與其不斷思考「創新」,不如直接去嘗試沒接觸過的領域,就像羅馬人剛嘗試海戰,沒有傳統的包袱反而能從零想出新花樣一樣。

前線的戰略完全由執政官全權決定

羅馬與迦太基的戰鬥中,其中一項被認為是羅馬的優勢,是軍團的執政官有權力決定所有的戰略,而且失敗並不會被懲罰,相對來說,迦太基的指揮官受限較多,也有好幾位指揮官被處死,這導致在一些情況,迦太基的指揮官不敢做大膽的嘗試。

有趣的是,在李德哈特的《戰敗者的觀點》,描述二戰時德軍的視角,也有類似的結論。時隔兩千多年,德軍在二戰前期的優勢之一,也是對軍官的權力下放足夠,軍中的領導階層能自由地發揮。同理,二戰後期希特勒對撤退的嚴格限制,害怕事後的懲罰,也是德軍快速崩壞的原因之一。

努米底亞(Numidia)

跟迦太基同樣處於北非,Blog主這次才知道的國家,努米底亞。嚴格來說當時努米底亞也不算「一個國家」,而是有複數個部落組成,這點在書內也沒說清楚。當時努米底亞主要分為兩大勢力:

  • 馬西利人(Masaesyli):位於努米底亞西部,領袖是錫芳其(Syphax)。
  • 馬西利尼人(Massylii):位於東部,領袖最初是Gala(馬西尼沙的父親),後來繼承人包括馬西尼沙(Masinissa)和他的競爭對手。

在布匿戰爭發生的年代,努米底亞與高盧都是生產騎兵出名的地方。其中,第二次布匿戰爭時,迦太基將軍原本要將女兒索芳妮許配給馬西尼沙,但最後轉而給錫芳其,達成聯姻,馬西泥沙就是在這之後與大西庇阿(書內翻譯:西比奧)聯手。最後迦太基跟錫芳其一起敗給了大西庇阿,馬西泥沙也收復努米底亞,奪回原本該許配給自己的老婆,但結果有點悲慘。

馬西尼沙回到軍營,西比奧正等著他。西比奧雖然向他祝賀收復王國,但不同意他與敵人的王妃結婚。三十二歲的羅馬武將對著比他大三歲的好友說:

「錫芳齊背叛與我之間的和談,投靠迦太基,是我羅馬軍的罪人,必須帶回羅馬。他是羅馬的東西,包括他的所有東西都屬於羅馬,索芳妮也不例外,我要護送她回羅馬。但是,如果她變成你的妻子,我沒辦法如此對待她。」

馬西尼沙不發一語地離開,交給使者一封信及一瓶隨身帶著的毒藥,送去給索芳妮。

信上寫著:

「保護妻子是丈夫的首要義務,但我卻無法盡到,只好盡我第二義務,讓我的妻子不會遭到不幸,將它與此信一起帶上。」

索芳妮把信讀完後就喝下毒藥,她只說,這是丈夫給我的結婚禮物。

西比奧為了給他的好友打氣,召集所有的士兵,公開宣布馬西尼沙為努米底亞國王,而努米底亞將成為羅馬的同盟國,並把自己用的執政官紅色外袍送給他。

大西庇阿不僅打仗精明,同時具備紀律與同情心,也許所有素質加在一起才能成為一位優秀的領導者吧。

阿基米德/敘拉古

從小Blog主聽的世界歷史,到上學的課本都出現過的阿基米德,一直以來都只知道他是「希臘科學家」,印象很深他人生的最後一刻還在做研究,但被敵軍殺死。阿基米德的名字也在第二次布匿戰爭的西西里戰線出現,這時Blog主才理解更多阿基米德出身的時空背景。而所謂「希臘城邦」裡,希臘文化的各個殖民城市都各至為政,且並非都是合作關係。其中位於西西里的敘拉古王國,是當時希臘城邦裡文化的頂峰,阿基米德就出生在這裡。

敘拉古王國原本是羅馬在西西里的盟友之一,但在政權交換時被漢尼拔成功策反,羅馬進攻敘拉古時,被阿基米德發明的武器整的很慘。最後羅馬趁敘拉古舉辦祭典,大家都喝得爛醉時,攻陷成功,阿基米德被一位羅馬兵殺害,當時羅馬軍的執政官馬爾喀斯知道這個消息後,表示十分惋惜。

總結

本次文章主要講了《羅馬人的故事》第二本裡面,個人覺得有趣的內容,當初第一次讀這部分是大開眼界了。在執筆的當下,Blog主正看到《羅馬人的故事》套書第三本的前半部,相對戰爭的部分就少很多,大部分聚焦在羅馬內部的改革上,個人蠻期待看到之後凱薩的部分。同時,之後也蠻想活用看看漢尼拔與大西庇阿使用的會戰戰術,之前買了幾片羅馬相關的遊戲,也許未來再上來跟各位分享。

2025年4月30日 星期三

DXP4800 Plus 入手 & Proxmox + iGPU passthrough

前言

DXP4800 Plus 40%OFF的價格

自從去年購入DS923+,發現SSD槽要當儲存空間,只能用昂貴的Synology自家SSD時,還蠻失望的(執筆的當下,最新發表的DS925+甚至連HDD都只能用自家的)。這幾個月時不時會看其他家的產品,最近主要看的是UGREEN跟Asustor,這兩家也有不少含M2槽的4 Bay產品,不過Blog主以前買的唯一一台Asustor用不久就壞掉,印象不是很好,而UGREEN雖說NAS起家晚,不過機子硬體效能亮眼,而且可以安裝其他OS,甚至不會破壞保固,讓Blog主很感興趣。剛好今年(2025年),UGREEN在日本募資平台上開放預購4Bay的DXP4800 Plus以及同世代的2Bay跟6Bay的產品,早鳥優惠為40%,Blog主很幸運搶到40%OFF的優惠,在四月初拿到產品DXP4800 Plus,也就是本文的主題。

在募資平台購入後,也許是歷史紀錄的關係,我的SNS或一般網站就出現一堆UGREEN募資的廣告,官方的文宣外,也有許多日本網紅拿公關機拍影片介紹,其中不泛有點模糊的宣傳,譬如不斷主打容量112TB,可以備份多少東西之類的,但販賣時是空機不帶HDD。當然多少有相關知識的人會懂這是空機價,但由於廣告內容很明顯是面向一般群眾,應該容易被誤解,而且光是廣告貼文下方,也能看到許多抱著錯誤的知識的留言。廣告的時間長達兩個月,但直到四月份發貨為止,官方的廣告仍然是類似的手法,讓Blog主覺得不太正道。

DXP4800 Plus


UGREEN在網路上有很多網紅介紹本篇這台DXP4800 Plus,所以外觀開箱跟一些基本規格等就跳過了,本篇文章主要著重在介紹Blog主玩第三方系統等內容上。

UGOS Pro

UGOS Pro畫面

UGREEN進入NAS界之後,也創了自己的OS,名為UGOS Pro。安全性方面,Blog主翻了一些資料,還真的難講。在拿到機子後,為了在原裝的環境下測試硬體運作,有用了短短3個小時,沒有註冊線上帳號,試完後就改BIOS設定開始裝第三方OS了,這方面就不多評論了。

Ram升級

預設的Ram

因為預設的Ram只有8G,單純當NAS用還可以,不過Blog主裝了Proxmox,想開Windows的VM又開其他雜七雜八的東西時,就開始不夠了。跟大部分廠商一樣,UGREEN並沒有公開Ram的詳細資訊,估計是考量未來可能更換用料。Blog主實際拿到的是三星DDR5 4800的8G SO-DIMM,在DDR5裡面算很普遍的低速規格之一,但以NAS來說已經夠了,使用三星製這點也還不錯。Ram插槽有兩個,Blog主購入了32G美光的Ram,也是4800,雖說無法湊雙通道,但配在一起40G很充裕了。

Proxmox安裝

關於安裝第三方OS的設定,可以參考NASCompares的影片,基本上就CTRL+F12進入BIOS,關掉Watch Dog設定,更改Boot Order就行。如果機子是DXP4800 Plus,預設OS其實是放在一條藏在機子內的NVMe槽的SSD,加上兩個可以隨時更換的NVMe槽,BIOS總共會顯示三個M2-KEY。BIOS設定更改完,再來就是標準的Proxmox安裝程序,沒什麼特別的。

iGPU Passthrough

Blog主實測在VM裡用Gold 8505的內顯跑初代TDU

再來則是稍微需要動點手腳的部分:在Proxmox裡使用Intel內顯輸出HDMI畫面。原本要在VM使用實體HDMI輸出時,通常都要有一張獨立顯卡,不過在Intel 11代(Rocket Lake)開始,讓CPU的內顯也能Passthrough給VM使用。這次Blog主使用的是GitHub上的gangqizai/igd,配合裡面的ROM以及VM conf範例,Blog主成功把DXP4800 Plus的Intel Gold 8505的內顯Passthrough給VM使用,同時也實測成功在Windows內玩遊戲。

TrueNas VM / Sata controller Passthrough

TrueNas安裝畫面

裝了Proxmox開了VM用了內顯傳HDMI訊號,剩下呢?既然買的是一台4Bay NAS,那塞HDD組RAID還是需要的。雖說Proxmox也可以組RAID,不過畢竟不是NAS專門OS,這邊Blog主也試了建TrueNas的VM並Passthrough整個Sata controller成功。Proxmox雖然也能個別讓VM使用硬碟,但還是用整個controller更直接點。除了TrueNas,Blog主也試成功Arc loader裝DSM,也能正常使用Sata controller。

總結

第一次入手UGREEN的NAS,雖說軟體很難講好壞,在日本的行銷方式個人也覺得有點扭曲,但硬體真的不錯,喜歡玩自組NAS跟虛擬化平台的玩家,但又同時想要有個精巧外觀,而且省電的裝置,那本文這台還蠻推薦的,雖然硬體的耐用性還有待觀察。對Blog主來說,有相對同價位NAS強大的Intel Gold 8505,可以利用Intel強項的硬體解碼,也可以開VM用HDMI像一般電腦操作,又可以當一般NAS,同時也省電,很符合Blog主的綜合使用需求,目前非常滿意,40%OFF早鳥價算是物超所值。

2025年3月28日 星期五

Synology商法 & 初試NVMe SSD cache

前言

Blog主在去年(2024年)11月時,買了人生第三台Synology的NAS,DS923+,還有兩顆Synology自家的4T HDD,到貨後興奮的拆開來用了一下,然後就沒用了。原因是Blog主功課沒做全,以為進到DS923+之後,終於能不走旁門把NVMe的兩個插槽當儲存空間,卻發現DSM限制SSD的品牌,目前只有Synology自家的SSD才能用,而且價格不斐。

Synology商法

早在幾年前,Blog主買DS920+的時候,就發現有些硬碟放進去會有相容性警告,不過相容性清單不限Synology的HDD,譬如Blog主手上Seagate的IronWolf就沒有警告,而且警告只有在加入硬碟時出現,而不會出現在建立Pool後的監控畫面,當時Blog主覺得這是善意的設計。當時Synology儘管效能差了同價位的品牌一截,但軟體做得好,Blog主也沒覺得任何不滿。

Synology自家的SSD價格,都是同級4~6倍左右的價格

直到近年各家NAS上多了NVMe插槽,開始能不佔用HDD的空間,又有SSD的選項時,DS920+ Synology給了NVMe插槽卻不能當Storage Pool,之後的DS923+如上述的,能當Storage Pool卻只限自家昂貴的NVMe SSD,Blog主就覺得Synology很故意了。

當然,網路上有些偏門可以讓一般NVMe SSD也能當Storage Pool,但都是「不保證之後更新後能不能繼續用」,而且說偏門也不算偏門,說到底Synology用的也是Linux,本來就能自己下指令建Pool,只不過Synology硬要擋而已。

初試NVMe SSD cache

說了那麼多用NVMe SSD當Storage Pool的相關問題,說到底有這個必要嗎?反正DS920+跟DS923+預設都只有1GbE LAN,就算上了NVMe也是無法在內網的裝置吃滿NVMe的效能,不是嗎?

使用情境

Blog主一開始也這麼認為,直到之前在其他裝置用Docker開Plex服務,但DB是透過NFS連上DS920+儲存的,但畢竟是HDD,常出現存取過慢,導致觀看後的選單畫面出現停頓問題,直到把DB資料放在本機就沒問題。

另外一個問題是在Synology開VM的時候,存取速度低下的問題。Blog主習慣用性能好的電腦插上NVMe的SSD然後灌Proxmox開VM,只有備份整個VM時,或著VM裡需要大量儲存空間時,才用NFS連上DS920+儲存。不過這些Proxmox機Blog主都不是24小時運作,而有時候Blog主只是想隨時測個簡單的指令,或著需要Linux環境整理一下透過NFS掛的儲存空間而已,這些情況其實在DS920+開VM就足夠。但在DS920+上開VM,只能用HDD當OS儲存空間,就連跑個例行Package更新都有夠慢。

如果能用SSD當Storage Pool,再把整個空間分給VM還有Docker掛載的volume用,就能解決。但Synology就是不給你用外面的廠商的SDD建Pool,Blog主想說,那就試試SSD cache吧!應該還是能享受到隨機存取的效能的。

SSD構成

不管是923+還是920+,NVMe槽都是兩個,插一張的時候只能建立讀取專用cache,兩張組RAID才有讀寫cache,應該是考慮到兩張才有容錯。Blog主這次是在920+插了兩張2T的970EVOPlus,之前記憶體大跳水的期間多買的。理論上隨便的NVMe SSD應該都行,連續存取速度不是很重要,就如前述的,畢竟其存取速度受限1GbE LAN,主要吃的是隨機存取。

SSD快取建議&實際使用

另外一個是DSM的快取建議,它能測量當前某個儲存空間需要快取的容量,最少要分析七天。而Blog主目前試了Docker跟VM專用的空間,結果都是建議100GB。Blog主實際給了128GB下去,目前過了兩個禮拜左右,實際觀察目前快取的使用量,都不超過10GB,估計100是快取建議給的最低容量。

雖然沒實驗數據有點不科學,Blog主對Docker的空間加了Cache沒太大感覺,原本有問題的Plex也許有機會可以裝回來再試試。至於VM的部分就很有感,原本更新Package很慢的Ubuntu VM現在快了很多,雖然跟Proxmox上整個系統灌在NVMe SSD的還是有段差距,但Blog主覺得已經夠了,更何況初衷只是要在24小時開啟的NAS上也有個簡單的Linux環境而已。

總結

其實Blog主一開始對這種Cache相關的儲存解決方案都沒抱太大信心,而實際上跟直接使用NVMe的SSD上仍有好大段距離,但就是「足夠了」。個人認為DSM應該讓使用者自己調整放在SSD的Cache比例,譬如整個空間都放在Cache裡面,或著70%左右之類的,不然如果有很大的Cache也受限於DSM自動調節的Cache量。

當然,講麼多,要是Synology開放一般NVMe SSD也能當Storage Pool就沒這麼多問題了,說到底還是Synology的私心作祟,退一百步商業級的機器需要高信賴的硬體,家用級的產品還這樣限制,那就是觀感不好。而且仔細想想,既然DS923+不用Synology自家SSD就不能建Storage Pool,那還是用沒差多少的DS920+就好,而且DS920+還有Intel的硬體解碼。起碼對Blog主來說,DS920+到DS923+的升級很無感,也蠻失望。