Tuneについて調査しました。機械学習では複数のハイパーパラメータを設定して学習を行いますが、どの調整が最適なのか見つけ出す必要があります。その際、闇雲に値をセットして調査しても無駄が多く効率が悪いです。Tuneを使うことで最適なパラメータを効率よく探すことができます。mode="min").config)基本的な使い方はtune.Tunerインスタンスを作成してfitメソッドを呼びます。tune.Tunerのイニシャライザ引数には以下のものがあります。trainable訓練を行うための関数。param_space調査したいハイパーパラメータの範囲。tune_configチューニングに関連する様々な設定。どのメトリクスを参考にチューニングを行うか、設定値のサーチアルゴリズムの選択など。スケジューラの設定をすることで結果の出なそうな訓練の打ち切り等もできる。run_configランタイム設定。実行するチューニングに名前をつけたりできる。パラメータの詳細それぞれのパラメータについて大事そうな部分をまとめます。trainable訓練を行うための関数またはクラス。訓練コード内のループで以下のように訓練中に計測したメトリクスを報告する。訓練完了後にスコアをreturnする事もできる。score}param_space探索するハイパーパラメータの範囲を設定。サンプリングする範囲を指定したり、グリッドサーチを行うこともできる。https://docs.ray.io/en/latest/tune/api/search_space.html#tune-search-space設定例の一覧。tune_config設定がたくさんあるので個別に見ていきます。https://docs.ray.io/en/latest/tune/key-concepts.html#tune-search-algorithmsアルゴリズムの一覧。それぞれのアルゴリズムの良し悪しについては調べる必要がありそう。scheduler特に指定しないと順番に行うだけのFIFOスケジューラになる。https://docs.ray.io/en/latest/tune/api/schedulers.htmlスケジューラの一覧。分からなかったらASHASchedulerを指定することで、うまくいかなそうな訓練を早期停止してくれる。dataframefitの戻り値には様々な情報が詰まっている。まとめLLMの訓練など、機械学習ではやたらと計算資源を使うものもあるのでこういったツールを使った効率化はすごく重要になりそう。Hashimotoweb系エンジニアからLLMエンジニアに転向しましたバッジを贈って著者を応援しようバッジを受け取った著者にはZennから現金やAmazonギフトカードが還元されます。Proよくある質問LinksX(Twitter)GitHubメディアキットLegal利用規約プライバシーポリシ。