Make組ブログ

Python、Webアプリや製品・サービス開発についてhirokikyが書きます。

2024-12-01から1ヶ月間の記事一覧

1ヶ月に22本ブログ記事を書いて気づいたこと

正確にはまだ21.05本くらいで、今もその数値が少しずつ増えています。 さて AI校正Shodoアドベントカレンダーをやろうと思い立ったのは11月の中旬ごろでしたが、目的としてはもちろんマーケティング的な意味合いもありつつ、ドッグフーディング的な意義もあ…

requirements.txtでリポジトリーURLを指定する方法

requirements.txtでリポジトリーURLを指定したいことがあります。たとえばSageMakerではコード用のディレクトリーにrequirements.txtを配置することで、起動時に依存ライブラリーをインストールしてくれます。その際に問題になるのが、Neuron系のライブラリ…

Jupyter Notebookでマウスを使わない!

AI

Jupyter Notebookでマウスを使わなければ気持ちよくなれます!という啓蒙活動です。 Jupyter NotebookというとGUIが基本なのでどうしてもマウスを動かしてしまいますが、キーボード操作がかなり充実しています。あまり知られていない感じもしますが、かなり…

Dockerで稼働しているCeleryが停止時にタスクを完了しない問題と修正方法

DockerでCeleryを稼働しているとき、設定によってはタスクを安全に完了(Graceful Shutdown)できていない場合があります。それぞれの登場人物の仕様を理解して間違いないようにしましょう。 コンテナランタイムの仕様 AWS Fargateではコンテナを停止する際…

Optimum Neuronでresume_from_checkpointをするとTypeError None // int

先日の記事のように Optimun Neuronを使うとHuggingFace Trainerを簡単にAWS Neuron上で扱えます。 ですがまだあまり安定していないというのが正直なところです。今回の問題は0.0.23から0.0.25の範囲で確認済みです。記事に書いてしまっていますが、もし良け…

Optimun NeuronでHuggingFace TrainerをAWS Neuron上で簡単に動かす

Optimun Neuron を使うと、HuggingFace TrainerをAWS Neuron上で気軽に扱えるようになります。具体的には以下のように、TrainerとTrainingArgumentsを置き換えるだけです。 from optimum.neuron import NeuronTrainer as Trainer from optimum.neuron import…

SageMakerでのトレーニング時は事前にデータをエンコードしておく

SageMakerでトレーニングする際、強めのマシンを使う場合は事前にデータをエンコードしておくと良いです。データ量が多いと dataset.map(encoder) をするのも案外時間がかかります。そうするとGPUやTrnを有効活用していない時間も課金されてしまうので、事前…

HuggingFace Trainerで学習とハイパーパラメーターチューニングを両立するプログラムを書く

HuggingFace Trainer を使っていて、トレーニング用のプログラムとハイパーパラメーターチューニング用のプログラムを両立させる方法を考えてみました。 HuggingFace Trainerでは trainer.hyperparameter_search(...) メソッドを使ってハイパーパラメーター…