2024-01-01から1年間の記事一覧

Cloudflare Workers AIで翻訳モデルを実行(#11)

はじめに ある日突然、あなたが翻訳APIを提供する立場になったとします。どのようなシステム設計を行いますか? ゼロからモデルを訓練する人は少ないと思います。最も簡単なのは、DeepL APIやCloud Translation APIをそのまま利用してもらうか、それらをラッ…

VimからNeovimへの段階的移行(#10)

はじめに VimmerがVimからNeovimに移行したいと考えるきっかけは色々あると思います。 私は半年ほど前からVimを利用していますが、もっと「シンタックスハイライトをよりカラフルにしたい」「カッコよくカーソル移動したい」といった欲望がありました。 nvim…

Podman入門とrootlessコンテナ(#9)

はじめに 以前#8で、研究室サーバーのDocker関連のユーザー権限を見直しました。 複数ユーザーが研究室サーバーのDockerを利用するケースでは、dockerグループにユーザーを追加する方法が一般的だと思います(私が所属した研究室は2/2がこの方法でした)。 $…

コンテナからNASへの書き込み権限エラー(#8)

はじめに ある日、「研究室サーバーで起動したコンテナ上から、マウントしたNASに書き込みできない」という報告がありました。具体的にはPermission deniedが出ていて、以前は全く報告されていなかった事例です。 本記事では、ステップ・バイ・ステップでエ…

LLM関連OSSのキャッチアップ(#7)

はじめに 先日Xで以下のようなポストを見かけました。 Open Source LLM ToolsIf you are looking for useful open-source LLM tools, this is a really useful resource.It includes different categories like tutorials, AI engineering, and applications…

Cloudflare TunnelでVPNレスSSH接続(#6)

はじめに ある研究室メンバーが自宅から研究室VPNに接続できず、サーバーにSSH接続できないという事例がありました。 調査してもらったところ、VPN接続のために開放する必要があるポート*1が防がれている可能性が高いと考えました。また、賃貸に住んでいるた…

PrometheusとGrafanaを導入(#5)

はじめに ある日、特定の研究室サーバーに対してSSH接続できなくなったことがありました。このような問題は今回が初めてではなく、似たような事例が発生しては「面倒なので再起動する」という対応を取っていました。 一方、少しでも手掛かりがあるならば根本…

DockerイメージをApptainerから利用(#4)

はじめに 先日、初めてTSUBAME4というスーパーコンピュータでで実験用のプログラムを実行する機会がありました。 普段は研究室サーバーでDockerを利用して環境の分離を実践しているにも関わらず、本番だけTSUBAME4上のけしからんPythonを使って実験データを…

Dockerオブジェクトに自動でラベル付与(#3)

はじめに #1では、肥大化するDockerのストレージの対策としてSSDの増設と/var/lib/dockerディレクトリからの移行を紹介しました。 今回は4TBのSSDを増設しましたが、容量は決して無限ではありません。特にML系のイメージはサイズが大きく、作成したDockerオ…

GitHub ActionsとAnsibleでGitOpsな構成管理(#2)

はじめに 研究室で「複数サーバーへのユーザー追加を自動化したい」という要望がありました。 本記事では、AnsibleとGitHub Actions(self-hosted runner)を使用して認知負荷が低いGitOpsな構成管理を実現する方法を紹介します。 はじめに 1. 要件定義 2. …

肥大化するDockerとSSDの増設(#1)

はじめに 先日、研究室サーバーで削除されずに残った不要なDockerイメージ・コンテナが、ディスク容量をひっ迫していることに気が付きました。 対策として、SSDを増設しつつDockerのストレージディレクトリ(デフォルトは/var/lib/docker)を変更する方法を…