The jonki

呼ばれて飛び出てじょじょじょじょーんき

MacBook Pro(M1 Pro)とColab Proでディープラーニング

はじめに

年末年始に少し時間があったので,趣味で書いているコードを動かすGPUインスタンスについて調べていました.以前はちゃんとGPU持っていたのですが,あまり使っていなかったので全部売っていました.買い直しも検討しましたが,未だにGPUは高いですし,我が家の冬は暖房等の使いすぎでブレーカーがよく落ちるので,何か適当なクラウドサービスを使おうかなと思っていました. AWSの安いGPUインスタンスであれば1時間100円ぐらいなので悪くはなさそうでしたが,時間課金はソワソワしちゃうので辞めました.そこで日本でも使えるようになった月額1000円程度のColab Proを使い始めました.

この記事ではMacbook Pro (M1 Pro)とColab Proを使ったディープラーニングの開発に関して,そのワークフロー,ベンチマーク,Tipsを簡単にまとめたので共有します. Colabはこれまで簡単なpythonのコードチェックぐらいでしか使ったことないですが,今回本格的に使い始めたので共有します.もっといい方法あるよ!という方はぜひコメント下さい.

Colab Proについて

Colab Proは最近日本で使えるようになったGoogleのサービスです.詳しくは下記の記事が詳しいです.月1000円程度で通常のColabよりGPUインスタンスが長く使えるのが特徴です.Pro+にすればGPUがP100からV100と更に良くなり(RAMは16GB → 32GB!),バックグラウンド実行もできるようになります,月5000円ぐらいかかるので本格的な人向けです.

atmarkit.itmedia.co.jp

ベンチマーク(M1 Pro vs Colab vs Colab Pro)

結局一番気になるのは学習速度.実はM1 Pro,素のColab (K80)より早いやんという話もあり調べてみました.ちなみに私のM1 ProはM1 Proの中でも最弱です(コア数という意味で). Colab上で試したのはTPUでなくGPUインスタンスです.計測のためのコードはpytorchの公式例をそのまま使い,MNISTの分類と言語モデルを試しました.Linear, CNN, RNN系のコードです.計測では1つのミニバッチの処理時間をまとめてみました.M1 Pro比でどれぐらい早いかカッコ内に書いてあります.

モデル M1 Pro (8 cores) Colab (Tesla K80, 12GB) Colab Pro (Tesla P100, 16GB)
MNIST, batch_size=64 0.028s 0.007s (4x) 0.003 s (9.3x)
LM (RNN, batch_size=20) 0.113s 0.006s (18.8x) 0.003s (37.7x)
LM (RNN, batch_size=100) 0.449s 0.162s (2.8x) 0.044s (10.2x)
LM (Transformer, batch_size=20) 0.103s 0.009s (11.4x) 0.005s (20.6x)
LM (Transformer, batch_size=100) 0.432s 0.160s (2.7x) 0.044s (9.8x)

M1 Proはこの中だと一番遅いですが,意外と早いですね.本格的な学習には厳しいですが,動作確認程度なら全然問題なさそうです.K80はM1 Proより遅いと思っていましたが,意外と奮闘していますね.P100はちゃんと早いですね.P100は2080Tiにやや劣るぐらいのFLOPSだけどメモリは多い,というものなのでなかなか悪くないと思います.RAM 16GBというのは中々絶妙で昨今では10GBぐらいでは足りないケースも増えてきたので16GBはありがたいです.これぐらいメモリが載ってるものってコンシューマー向けには3090とかになってしまうので中々手が出ません.一方でColab Proは実行制約等があるものの,電気代気にせず1000円というのは趣味用途では全然ありだと思いました.まず素のColabで運用して物足りなくなったらProにするというのもアリだと思います.

ベンチマーク等についてはこちらもご覧ください.

開発構成について

次はColab Proを使った際の開発構成の紹介です.以下のようにして落ち着きました.Colab上では学習したモデル等のデータは自分で保存する必要があるため,Google Driveとの連携は必須です.またノートブック上で本格的なコーディングはかなり辛いので,Google Drive上でコードを管理し(github),通常時はローカルのマシン(Macbook Pro)上でVisual Studio Codeで開発,というのが良さそうでした.

  1. Google Drive上を作業スペースとし,ここに自分のプロジェクトをgit cloneする.
  2. 通常開発時はMacbook Pro上で作業し,学習コードがちゃんと動くかM1 Proでチェック(私はVisual Studio Code使ってます).
  3. 学習を本格的に開始する段階で,Colab ProでGPUランタイムのノートブックを作成する.
  4. Colabのノートブック上でGoogle Driveをマウントし,プロジェクトディレクトリにchange directoryする.
  5. Colab上で学習を開始する.(例:! python train.py
  6. tensorboard等を使っている場合は,ノートブック上でtensorboardを使うか,ローカル側で自分でtensorboardのサーバーを立ち上げる.Google Drive上で作業しているのでログもsyncしており,ローカルでtensorboard立てられる(私はこれ).
  7. コードに修正があれば,手順2に戻る.

開発Tipsについて

いくつか覚えていて損がないことを書いておきます.

Google Driveのマウント

これはGUIとプログラムの2通りでマウントできます.GUIから行く場合は,左のサイドメニューのフォルダアイコンをクリックしてから辿れます.プログラムから行く場合は下記のような形でいけます.

from google.colab import drive
from pathlib import Path

def mount_drive():
    drive_path = Path('/content/drive')
    if not drive_path.exists():
        drive.mount(str(drive_path))

mount_drive()

Githubからprivateなリポジトリをcloneする

GithubのPersonal Access Tokensを使えば,自分のprivateリポジトリであっても簡単にcloneできます. Githubのページで Settings → Developer settings → Personal access tokens で full control of private repositoryトークンを生成しておきます. Creating a personal access token も参考にしてください.

そしてノートブック上で以下のようにしてcloneできます.簡単ですね.

import os
os.chdir('<your_work_space>')
%env TOKEN=<YOUR_TOKEN>
!git clone https://$$TOKEN@github.com/<user_name>/<repo_name>.git

実行環境がColab上かどうか判定する

これはローカルでの開発とノートブック上での開発で処理を切り替えたいときに便利です.

import sys
is_colab = 'google.colab' in sys.modules

ローカルとノートブック上でのファイル同期について

基本はGoogle Drive上で作業しているので,ファイルは勝手に同期されます.ただ手元で編集してすぐに反映,というわけにはいかないです.感覚的なものですが,数分ぐらいラグがある気がします. また同期されているつもりでノートブック上で実行したところ,古いコードが動いていた,ということもあるのでノートブック上でのコード確認は重要です. ただ結構面倒なので変更はすべてgit commit & pushしておき,ノートブック上ででgit pullしてから実行するようにした方が便利です.

Terminalどう?

Colab Proの目玉機能の1つではあると思うのですが,遅延が結構ひどく,インスタンスが再生成される度にルートディレクトリにcdしてしまい,正直使い勝手はよくないです.psnvidia-smiなどのプロファイル系のコマンド実行には良いかもしれませんが,思ったより使わないです.デフォルトでtmuxが動くのは良いのですけどね.重要な処理やノートブックのセル上で書いたほうが確実に実行できます.

ノートブックはターミナルのように利用する

ノートブック上でのpythonコードもかけるのですが,基本的に私は書いていないです.普通に.pyをVisual Studio Codeでコーディングしておき,ノートブック上はひたすらgit,前処理,学習の実行といった適当なファイルの実行を行っています.データ分析等の可視化をする場合は便利だとは思います.

自動接続

これはabuse感あるのですが,よくあるTipsとして紹介されています.ブラウザのDeveloper consoleを開き,以下のように再接続ボタンを継続的に押すようにスクリプトを仕掛けておきます.

function KeepClicking(){
    console.log("Clicking");
    document.querySelector("colab-connect-button").click() }
setInterval(KeepClicking,60000)

実行時間と再学習について

Colab Proでは最大実行時間は無料プランの倍の24時間になっていますが,通常のColabを常用していた訳ではないので体感的に伸びているかはよく分かりません.基本的には寝る前,起きたとき,午後,でノートブックをチェックして実行が止まっていたらノートブックのセルをRun allする感じです.特定のディレクトリの最新チェックポイントを自動でresumeするようなコードにしておくのが良いと思います(例: python trainer.py --resume ./your_exp_dir).ただ面倒であることは変わりないので,ある程度学習がうまくいくことが分かっている場合は,AWS等で専用のGPUインスタンスを立てても良いかなと思います.

まとめ

M1 ProとColab Proを使ったディープラーニング開発についてまとめました.Colab Proを単純なGPUインスタンス的に扱う,という用途でも使い物になりそうです.趣味でこれは結構良いと思いました.自前のGPUを使う場合,そのためのマシンを用意する必要がありますし,電気代も場所も取ります.GPUもそもそも毎年新しいものが出てくるので,サブスク性や従量課金制の方が今どきは良いなと思いました(もちろん用途によります).そういう意味ではColab Proはランチ1回分と考えるとかなりお買い得だと思いました. またM1 Proがまぁまぁ早いのも想定外でした.このMacbookで本格的な開発をする予定はなかったのですが,これならM1 Pro Maxを視野に入れてよかったなとちょっとだけ思いました.

2021年にやってよかった技術書(数学,機械学習関連)と読書習慣について

今年もこの季節... www.jonki.net

今年は子供も生まれて本を読む時間もないか...と思いましたが,時間的制約が加わることでむしろ例年より読んだかなという気がします(それでも多くはないんですが). でも継続的に読むという習慣はできた気がします.

個人的に良かった読書習慣のコツ

  • ちょっとずつで良いので毎日同じ本を読む(ただし体調不良のときはちゃんと休む).
  • 読むページ数は安定している方が良い(一気に読もうとしない.ページ数は本の難易度に合わせて調整すれば良い).
  • 習慣記録系のアプリを使わない.連続読書記録を作ることが目標でないし,記録が切れると燃え尽きて戻れない可能性がある.
  • 同時に読む本は1冊で良い.増やすならいずれもバランス良く読む.
  • 紙媒体で読んだほうが読み進めるほどに達成感が増して良い.
  • 本の評価が高くても自分に合わないと感じたら無理せず諦める(大丈夫,他にも良い本はいっぱいある).

以下いくつか読んだ中でおすすめしたい本だけ紹介します.正直ほとんど有名な本なので特に新しい情報はないですが.

ストラング:線形代数イントロダクション + MIT 18.06 Linear Algebra, Spring 2005

線形代数まるでわからん状態が続いていたので,色々読み漁った結果これが良いと判断しました.巷には色々教材が溢れていますが,小手先の計算テクニックとかでなく,体系的に学ぼうとするならこのGilbert Strang先生のMITの授業が無料で公開されていて内容は素晴らしいと思います. ちなみに第1回の講義は87万回再生されていて,一番少ない回でも5万回程度あるので数万人が通しで見ているんだと思います. 動画見て頂くと分かるんですが,Andrew Ng先生とはまた異なる形で引き込まれる授業です.具体的な事例に対して自問自答して解き明かしていく形でかなり分かりやすいです.英語も字幕が丁寧についていますし,先生の英語はかなり聞き取りやすいです. ちなみに書籍の方は600ページを超える鈍器なのですが,一般的な数学の教科書というよりは,授業のライブ感をうまく書籍に対応させたものになっています.動画をいくつか見る→本の対応するところを見る,という形で進めていくと読みやすいと思います. 部分空間に対する重きの置き方など,この授業はよくある線形代数の教え方とは異なる視点で授業を展開している気がします.なので書籍だけを読んで勉強する場合は若干とっつきづらいかもしれません.ただ翻訳書にありがちな直訳英語は特に感じず,脳内でストラング先生が喋ってる声が聞こえるぐらい邦版は素晴らしい出来だと思います.また100ページ以上は問題演習なのも面白いです.個人的には全部やりたいと思いつつ,まじめに100%読もうとして途中で頓挫するのも嫌だったので,練習問題は飛ばして例題までにして読むようにしました.かなり分厚い本ですが,見た目ほど苦労はせず読める本だと思います.

www.youtube.com

ちなみに同じくストラング先生の18.065というデータ分析向けの授業(2018年)も公開されているので次はこれを見ようと思っています.日本語版の書籍も今年の10月に出たばかりのようですね.

これなら分かる最適化数学,金谷健一

昔買って積読していたのですが,数学力上げたくて読み始めました.極値と勾配,最小2乗法,最尤推定など全般的に事例と説明が秀逸でした.学部の頃に読んでおきたかった超絶良書です.Andrew Ng先生のCS229に近いカバー範囲だと思いますし,いわゆる機械学習に関する数学力を上げたいのであれば今回紹介する中では間違いなく一番オススメです.

これなら分かる応用数学教室,金谷健一

上述の金谷先生の本がめちゃくちゃ良かったので同じく積読していたこの本も読みました.最適化数学と被るところもありますが,フーリエ変換固有値問題が追加・充実していてよいです.何より同じ著者なので説明方法や式展開の癖が同じなので連続して読みたいところ.

情報理論のエッセンス,平田廣則

マシンラーニング系の論文などを読んでいるとエントロピーの話がよく出てきます.情報の数量化,つまり情報量に関する知識は一度振り返ってもよいかなと思い読みました.後半は符号化の話などが多くなってきますが前半だけでも読む価値はあると思います.今回紹介する本の中では一番サクッと読める本です.

続・わかりやすいパターン認識教師なし学習入門―,石井 健一郎, 上田 修功

これも積読していた有名本です.ひたすらサイコロを振ってその過程をベイズで捉えていた気がします笑.須山さんのベイズ本等と合わせてこの本を読んでも良いかもしれません.個人的にはHMM,EMアルゴリズム,前向き・後ろ向きアルゴリズムあたりの説明がかなりしっかりしている本でした.私の中で殿堂入りしている高村先生の「言語処理のための機械学習入門」でも言語ドメインにおけるこのあたりの説明があるのですが,この本ではそれを一般化して説明しており,合わせて読みたいところです.

まとめ

以上,前年度に続いて基礎的なところが多かったなという印象です.ほぼ毎日本読む習慣ができたのも良かったですね.ただ本を読むときは紙とペンを持って自分でも手を動かして確認することが大事なんですが,結構サボった気がします.来年はもうちょっと丁寧に読んでいきたい. ちなみにストラング先生の授業,学部向けで2005年なんですが,私もこの頃大学1年生なので感慨深いものがありました(線形代数の授業を何も覚えていない悲).

2021年に買ってよかったもの(在宅勤務に役立つガジェットや日用品編)

今年もこの季節... 今年は子供も生まれて中々に刺激的な一年でした.仕事は相変わらず在宅勤務で特に不満なく働けました.技術書編は別記事ですぐに出す予定です.

www.jonki.net

在宅勤務のお供

モノクロのレーザープリンターです.職業柄,論文を印刷することが多くあるのですが,家でも安くきれいに論文を印刷したいなと思い購入しました. インクジェットと異なりレーザープリンターなので文書がきれいに印刷できます.両面印刷も自動で早いのに1万円ちょっとはかなり安いと思いました.こういうのはトナー商売なので公式なトナーは高いのですが,怪しい安い互換品でもまったく問題なかったです.バッテリーの互換品は事故が怖いですが,インクトナーはまぁ良いかなと思いました. ちなみにレーザープリンターをカラー対応にすると一気に高くなるのですが,私が読む論文で色を多用する場合ってあまりないですし,PCと合わせて論文を読むのでモノクロでまったく問題ないです.早く買えばよかったです.

有線タイプのヘッドセットを使ってましたが,ケーブルが煩わしいので無線版に.BluetoothでなくUSBのワイヤレス子機と合わせて使うタイプなので安定していると思います.気が向いたときに充電するだけで良いので楽ちんです.特に音質に関しては有線版と大差なかったです.

リビングの作業机として買いました.手動ですが机の高さが買えられて良いです.仕事の時以外はリビングにいるときが多くなったので,子供を見つつちょっと作業,みたいなことに便利です.また足にM8ネジの適当なキャスターをつけることで移動が楽になります.

これは夏に活躍したものですが,私は夏はひたすらペットボトルの炭酸水を飲んでいます.夏だとペットボトルがビショビショになり温度もすぐ下がるのでこのケースを入れてずっと飲んでました.冷やさが長引くしビショビショにならないのはナイス.

ずっと欲しかった加湿器です.昨今,いろいろなタイプの加湿器がありますが,どれも威力が弱かったり,衛生的に不安がありますが,これはただの電気ポットで電気料金以外の不安はまったくないです.湯気もホワホワでてしっかり加湿されます.乾燥は体調も悪くなるので毎日活躍してもらっています.

エアコンの風って乾燥するし嫌いなのですが,オイルヒーターは純粋にその場を風無しであっためる優れものです.時間はかかりますが,在宅勤務の部屋に1つ置いて付けっぱなしにしています.これをするとエアコンを使うことなく,部屋が暖かくなり快適でおすすめです.こちらも電気を喰うタイプのものですが,お金でこの辺は解決したい.

CO2モニターです.M5 Stackを使って自作もしてましたが,実運用ではちゃんとしたメーカーの買ったほうが安心感があり結局こちら.怪しい中華メーカーのものが多い中で安心感ある商品だと思います.部屋を締め切ってるとすぐに赤いランプが点灯するので換気を良くするようになりました.

チョコ.いまお菓子って高いですよね.在宅でひたすら何か食べているので,業務用チョコをひたすら食べています.至って普通のどこにでもあるチョコの味ですが,味音痴なので全然これで満足しています.安い.

日用品

布団乾燥機.以前持っていたものは親にあげてしまったので再度購入.寝るときに布団が冷たくてしばらく不快なのが,これで一気に解決.感覚としてはお風呂に入るぐらいな気持ちよさに似てます.今はふとん乾燥機も小さくて良いですね.

味噌汁.これも楽ちんシリーズ.いつも同じ味だと飽きるので,具材と味噌が自分好みで選べて楽しい.これも安い.

水筒.冬のちょっとしたお出かけのときなどに活躍.わざわざペットボトル買ってたんですが,これにしてからは家で入れたお茶を持ち運んでます.

トートバッグ.子供と出かけることが多くなり,買い物した際などにそのままなんでも突っ込めるので便利です.

ガジェット

こちら高いんですが,AirPods proも未だ現役なので購入.充電がスッキリと楽になりました.

掃除ロボットは半信半疑だったのですが,子育てであまり余裕がなくなってきたので購入しましたが大正解.マッピング機能もあり我が家の部屋すべてを正確に認識していて驚きました.掃除も人より丁寧なのでゴミももっさり取れます.

食洗機も導入.在宅勤務で洗い物も増えたので購入.アメリカにいたころもあったのですが,やはり子供がいると時間が惜しいので,食洗機あるだけでかなり助かります.一日2回がっつり動いています.これも人より丁寧できれいになる笑

40mmという絶妙な焦点距離,近接24cm,361gという軽さ,そして圧倒的な描写力... Alpha 7Cに基本的にずっと付けて子供撮ってます.お高いですが,かなり万能なレンズで使い勝手がよいです.

Macbook Pro 2017 15-inch,Macbook Air 2019 13-inchを持っていましたが,売り払ってApple Siliconの世界にやってきました.夏になるといつもアツアツのMacbookでしたが,M1 proはヒヤヒヤなのが一番気に入っています.これで重いコーディングをすることもなく,iMovieが一番重い処理ぐらいなので,メモリ16 GBのSSD 1TBにしましたが満足しています.ガッツリ開発やビデオ編集等に使いたい人はメモリ32GB〜でも良いかなと思いますが,お値段と電力消費は上がるのでそのへんの見極めは悩みどころかもしれません.iMovieで4Kの動画を編集しましたがほんのり温かくなる程度で早く書き出しできたのは感動.

iPhone 11からiPhone 13 miniに乗り換えました.小さい画面でも十分に使えるしMagsafeが便利なのでMagsafeだけ目当てで買い替えても良いと思いました.

私はスマフォは指を引っ掛けるタイプでないと不安なのでQi充電とずっと相性が悪かったのですが,MagsafeになったことでPopSocketもMagsafe化して取り外しが便利になりました.磁力も強いので安心.

明日は技術書などを共有します.

Kindleでコンピューター・ITの50%オフやってるので個人的に興味ある本をまとめた

Amazonが粋なことやってました.9/2までです. 相当な量がセール中なのですが,私がこれまで読んで面白かった本や面白そうな本を載せました.

コンピュータの仕組み

名著と名高い本.技術書でもあるが面白いブログ読んでる感じ.必要知識もオームの法則ぐらいです.

みんな持ってるパタヘネ本.みんな読んだか?パタヘネ本.内容は面白いが長い.

パタヘネ本が長いという方はこちらでも.

結城先生の面白そうな本.買ってみた.

絶対面白いやつ.この辺が詳しいとおじさんと仲良くなれる.

プログラミング

C++もう何年も書いてない...すべて忘れたあなた(私)に.

雰囲気でDockerをやっている.そんな私に.

雰囲気でPandasをやっている.そんな私に.

アルゴリズム

アルゴリズムに興味ないという人が興味を持つきっかけになりそうな本.かなり面白い.

アルゴリズム勉強する人がまず最初に見たほうが良いと思う本.今でもたまに見る.

グラフ大事.読んだことないが評判良いので買ってみた.

NLP

Graham先生のスーパーわかりやすいNLP入門の資料.まず最初に読みたい.

工藤さんの形態素解析本.形態素解析したい人はこの本しかない.

DNN,BERT登場以前っぽいけど,実務でDNN使える場面そんなないし,古典も大切.

IBM→PFNの丸山さんの本.エッセイ風なのでやる気がでないときに良い.

HHKB Professional Hybrid Type-S使いがKeychron K2触ってみた

今更ですがKeychron K2というメカニカルキーボードを買いました.HHKB Hybrid Type Sを使っていましたが,気分転換に買ったらなかなか良かったので比較しつつレビューします. 比較ブログなどはすでに多いのですが,自分が感じた特徴を書いておきます.私(ソフトウェアエンジニア)の環境の要求としてはこんな感じです.

  • 仕事はWindowsとPrivateでMac,両方同じ場所で切り替えて使えるようにしたい.
  • 無線でつなげたい.
  • タイプしていて気持ちいい.

f:id:jonki:20210822170451j:plain

購入

最近,日本でも代理店での取り扱いが始まったようです. アルミフレームでRGBのLEDが付いてるフルフルモデルです. ただ本家と比べると倍近い値段がするので,送料込みでも本家で買った方が安いですね.クーポン適用などもあるので買う際は探したほうが良いです.

Keychron K2 Wireless Mechanical Keyboard for Mac and Windows

私の場合,パームレストと送料いれてもこんなもんでした.発送も注文から1週間してないぐらいだったと思います.

f:id:jonki:20210822170914p:plain
明細

HHKBとの比較

HHKB Professional HYBRID Type Sとの比較して行こうと思います. f:id:jonki:20210822170240j:plain

Keychron K2の方が良いと思った点(良いと思った順)

  • バッテリーがリチウムイオンで充電できる.

    • HHKB Hybrid最大の弱点は単三電池の採用だと思っています.静電容量式であるためスタンバイから復帰するためには電源ボタンを長押しする必要がありとても面倒です.かといって常時オンモードにすると電池が1ヶ月で切れます.K2はリチウムイオン形式なので,机に転がっているUSB-Cで適当なタイミングでいつでも充電できるので便利です.10年後もこのキーボードを使うなら単三電池の方が良いかもしれませんが,たぶん違うの使ってるのでリチウムイオン方式が実用的です.
  • キー数が多い

    • キー数は少ないほうが玄人感は強いのですが,やっぱりHHKBは少なすぎです.デバッグIMEでファンクションキーをよく使うので,独立していないキーの入力はとても面倒です.またカーソルキーも,例えばWinキー+矢印,のようなショートカットはHHKBでは3つのキーを押す必要がありタルいです.キーマップをカスタマイズするというのも手ですが,最近はデフォルト設定厨になっているのでこういうカスタムはなるべくしたくありません.
  • 切り替えキーの独立

    • Win/Macの切り替えキー(Win-Alt / Cmd-Optの位置を入れ替えられる)及びUSB or Bluetooth接続の切替キーが,側部に独立している.ショートカットキーや再起動が必要で面倒なDIPキーより便利です.ただOSの切替をしない人には響かないですね.
  • Bluetooth接続切替のストレスが少ない

    • 私のHHKBはHybridなのでBTに対応していますが,接続切替にたまに失敗します.またキーを押し間違えた際も,異なるモードから脱出するのに時間がかかったりと,正直出来は微妙でした.Keychron K2を買って毎日BT切替を行っていますが,問題なく行えています.また接続切替もKeychronの方が若干早い気がしています.
  • LEDが気持ちいい

    • フルカラーLEDがガチャガチャしてて,最初はいらないと思ったんですが意外と気分転換になります.無駄にLEDアニメーションを切り替えるボタンキーも付いているので,変化させて遊んでいます.あと地味に便利だと思ったのが,BTの接続切替にFn+1,2,3を押すのですが,数字キーが点滅→点灯と,接続のステータスがわかるのはとても良いです.
  • 安い

    • HHKBの1/3程度のお値段なのは見過ごせません.

HHKB の方が良いと思った点

  • キーマップ変更の純正アプリがある

    • HHKB Professionalシリーズには純正のキーマップ変更ツールが公開されています.Keychronはこういうものはなく,それぞれサードパーティのソフトを使ってねということです.キーマップの変更はソフトウェアレベルでなく,ハードウェアレベルで行ったほうが不具合も少ないので,この点HHKBは優れていると言えます.
  • キーサーフェス

    • K2というかKeychronのキーサーフェスはすごいツルツルしているのに対して,HHKBはエンボス加工というか表面に非常に細かいツブツブがありサラサラしています.手汗が多い人はK2だと指とキーとの摩擦がそれなりに発生しそうで,好みが分かれそうです.私個人的にはHHKBのサラサラしてるほうが引っかかりもなくて好きです.K2も慣れましたが.

人によって好みは分かれると思った点

  • サイズ

    • K2はHHKBと比べて,列と行が1つずつ増えているため大きいです.ただ机の上に置いてしまうと正直どちらも大差ないかなと感じています.個人的にはこのキー数が一番使いやすいです.似たところでいうとThinkpad Keyboardも好みです.
  • 重さ

    • HHKBは540gに対して,Keychron K2 アルミフレームは985g.そうめっちゃ重いです.持ち運びをしないのであればむしろ重いのは好ましいんですけどね.
  • 打鍵感

    • これはそもそも静電容量式とメカニカルでまったくの別物です.HHKBの独特なスコスコ感はやはり癖になります.K2で今回は赤軸を選びましたが,キータッチが軽いので私はこれも好きです.
  • 静音性

    • これはどちらも甲乙つけ難いです.普通に叩く分にはKeychronの赤軸は普通の赤軸同様,それなりに高いカチャカチャ音がでます.HHKBはType Sを使っているので静かではありますが,コトコト低く響く音なのでどちらも深夜とかにはちょっと気を使います.その点では赤軸のほうが押し切る必要がない分,音を抑えた打鍵ができるかもしませんね.

Keychronの残念だったところ

  • 一緒に買ったパームレスト
    • キーボードではなくパームレストです.木製のパームレストなのですがちょっと歪んでいて置くとガタガタします笑.Youtubeに上がってるレビュー動画でも同様の報告を見ました.Keychronのサポートに文句をいったところ,新品を送ってくれましたが,新しい方もちょっとガタガタします.実用上は問題ないのですが,A型の私は気になるところ.購入を検討されてる方は注意してください.

まとめ

Keychron K2を買ったので,HHKB Professional Hybrid Type-Sと比較レビューを投稿しました.HHKBの良い点をなかなか上げていませんが,あの打鍵感は大好きではあるのでHHKBも未だに好きなキーボードではあります.なので気分でまた使います.それまではしばらくメカニカル生活を楽しみます.それでは.