Llama ダウンロードページの解説

1. Llamaモデルとは

Llamaは、Meta社が提供する大規模言語モデル(LLM)で、さまざまな用途や要件に応じて使用可能です。

モデルは以下の種類に分かれています:

  • Pretrained(事前学習済みモデル)
    微調整やカスタマイズに最適な基本モデル。
  • Fine-tuned(微調整済みモデル)
    特定の目的(例:チャットや指示対応)に合わせて調整されたモデル。
  • Trust and Safety Models(信頼性・安全性に特化したモデル)
    セキュリティや倫理面での課題をサポートする特化型モデル。

2. ダウンロード手順

(1) Llama CLIのインストール

まず、Llama CLIをインストールします。以下のコマンドを実行してください:

pip install llama-stack

CLIが既にインストールされている場合は以下でアップデート:

pip install llama-stack -U

(2) モデルのリストを確認

利用可能なモデルを確認するには以下のコマンドを実行します:

llama model list

古いモデルも含めてすべてを表示するには:

llama model list --show-all

(3) モデルを選択してダウンロード

希望するモデルのIDを指定してダウンロードします:

llama model download --source meta --model-id MODEL_ID

スクリプト実行中に「カスタムURL」を求められた場合、提供されたURL(例:https://llama3-2-lightweight.llamameta.net/...)を入力します。

(4) ダウンロードURLの注意

URLは48時間有効で、各モデルは最大5回までダウンロード可能です。このURLはメールでも送信されるため、期限内に利用するようにしてください。


3. 提供されるモデル

モデルは用途やサイズ別に用意されています。

Pretrained(事前学習済みモデル)

  • Llama-3.2シリーズ
    サイズ:1B、3B、11B(Vision対応)、90B(Vision対応)
  • Llama-3.1シリーズ
    サイズ:70B、405B(大規模)

Fine-tuned(微調整済みモデル)

  • 特定の用途に合わせて最適化されたモデル。例:
    • Llama-3.2-3B-Instruct
    • Llama-3.1-8B-Instruct

Trust and Safety Models(信頼性モデル)

  • Llama Guardシリーズ
    セキュリティや倫理的問題への対応に特化。

4. 特別な405Bモデルについて

405Bモデルは非常に大規模で、使用には特別なリソースが必要です。

  • MP16(Model Parallel 16)
    BF16(半精度浮動小数点)の完全版で、複数ノードが必要(最低8GPUを2台)。
  • FP8(Floating Point 8)
    量子化版で、1ノード8GPUで動作可能。

405Bモデルはストレージ750GBを使用し、高性能なGPU環境が必要です。


5. 開発支援ツール

Code Shield

  • コード生成時のセキュリティリスクを軽減します。

Cybersecurity Eval

  • サイバーセキュリティ分野のベンチマークテストに対応します。

6. 使用上の注意

  1. 責任ある利用
    利用ガイドやライセンス条件に従って使用してください。
  2. フォーマットに注意
    Fine-tunedモデルでは適切なトークン形式を使用する必要があります。

Dockerの警告「bridge-nf-call-iptables is disabled」の解消方法【Ubuntu 22.04】

Dockerを利用していると、以下のような警告に遭遇することがあります。

WARNING: bridge-nf-call-iptables is disabled
WARNING: bridge-nf-call-ip6tables is disabled

これは、Linuxカーネルの設定で bridge-nf-call-iptablesbridge-nf-call-ip6tables が無効になっているために発生します。この設定が無効のままだと、Dockerネットワークのポリシーやルールが正しく動作しない場合があります。

この記事では、この警告を解消する手順を詳しく解説します。


原因

bridge-nf-call-iptablesbridge-nf-call-ip6tables は、ネットワークブリッジを通じてデータが流れる際に、カーネルが iptables(または ip6tables)ルールを適用するかどうかを制御する設定です。これが無効の場合、Dockerのネットワーク設定が期待通りに動作しない可能性があります。


解決手順

1. 必要なモジュールをロード

Dockerネットワークでブリッジ機能を使うには、br_netfilter モジュールがロードされている必要があります。

以下のコマンドでモジュールがロードされているか確認します。

lsmod | grep br_netfilter

モジュールがロードされていない場合は、以下を実行してロードしてください。

sudo modprobe br_netfilter

さらに、再起動後もモジュールをロードするように以下の設定を行います。

echo "br_netfilter" | sudo tee /etc/modules-load.d/br_netfilter.conf

2. 一時的にカーネルパラメータを有効化

以下のコマンドを実行して、bridge-nf-call-iptablesbridge-nf-call-ip6tables を有効にします。

sudo sysctl -w net.bridge.bridge-nf-call-iptables=1
sudo sysctl -w net.bridge.bridge-nf-call-ip6tables=1

現在の設定を確認するには以下を実行します。

sudo sysctl net.bridge.bridge-nf-call-iptables
sudo sysctl net.bridge.bridge-nf-call-ip6tables

両方の設定が 1 であれば一時的な設定は成功です。


3. 永続化のための設定

再起動後も有効になるように設定を永続化します。

  1. 設定ファイルの編集: /etc/sysctl.conf ファイルを開きます。 sudo nano /etc/sysctl.conf
  2. 以下の2行を追加: net.bridge.bridge-nf-call-iptables=1 net.bridge.bridge-nf-call-ip6tables=1
  3. 設定をリロード: sudo sysctl -p

4. Dockerデーモンの再起動

カーネル設定を反映させるため、Dockerを再起動します。

sudo systemctl restart docker

5. 動作確認

設定が正しく反映されたか確認します。

docker info | grep WARNING

警告が表示されなければ、設定は完了です。


補足

  • モジュールがロードされない場合: カーネルバージョンやセキュリティ設定によっては、モジュールが正しくロードされない場合があります。その場合は、dmesgjournalctl でエラーログを確認してください。
  • 最新のDocker環境で発生する場合: Ubuntu 22.04 では、セキュリティや構成の変化により、Dockerを使用する際に追加の設定が必要になることがあります。公式ドキュメントも随時確認してください。

まとめ

この手順を実行することで、Dockerのネットワーク設定に関する警告「bridge-nf-call-iptables is disabled」を解消できます。設定を適切に管理することで、コンテナ環境のネットワーク接続が正しく機能するようになります。