「Limited Liability Company」の略で「合同会社」を表す、2022年に新たに誕生した新gTLDです。
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. 使用上の注意
- 責任ある利用
利用ガイドやライセンス条件に従って使用してください。 - フォーマットに注意
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-iptables
と bridge-nf-call-ip6tables
が無効になっているために発生します。この設定が無効のままだと、Dockerネットワークのポリシーやルールが正しく動作しない場合があります。
この記事では、この警告を解消する手順を詳しく解説します。
原因
bridge-nf-call-iptables
と bridge-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-iptables
と bridge-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. 永続化のための設定
再起動後も有効になるように設定を永続化します。
- 設定ファイルの編集:
/etc/sysctl.conf
ファイルを開きます。sudo nano /etc/sysctl.conf
- 以下の2行を追加:
net.bridge.bridge-nf-call-iptables=1 net.bridge.bridge-nf-call-ip6tables=1
- 設定をリロード:
sudo sysctl -p
4. Dockerデーモンの再起動
カーネル設定を反映させるため、Dockerを再起動します。
sudo systemctl restart docker
5. 動作確認
設定が正しく反映されたか確認します。
docker info | grep WARNING
警告が表示されなければ、設定は完了です。
補足
- モジュールがロードされない場合: カーネルバージョンやセキュリティ設定によっては、モジュールが正しくロードされない場合があります。その場合は、
dmesg
やjournalctl
でエラーログを確認してください。 - 最新のDocker環境で発生する場合: Ubuntu 22.04 では、セキュリティや構成の変化により、Dockerを使用する際に追加の設定が必要になることがあります。公式ドキュメントも随時確認してください。
まとめ
この手順を実行することで、Dockerのネットワーク設定に関する警告「bridge-nf-call-iptables is disabled
」を解消できます。設定を適切に管理することで、コンテナ環境のネットワーク接続が正しく機能するようになります。
systemd-resolved による動的な管理を無効化し、resolv.conf を固定化
sudo rm /etc/resolv.conf
echo -e "nameserver 210.227.117.57\nnameserver 8.8.8.8\nnameserver 8.8.4.4\nnameserver 1.1.1.1" | sudo tee /etc/resolv.conf
sudo systemctl stop systemd-resolved.service
sudo systemctl disable systemd-resolved.service
ZRAMは圧縮されたRAMディスクを作成し、スワップとして使用することで、物理メモリを節約できます。
ZRAMは、メモリの圧縮領域を利用して仮想的なスワップ領域を作成するLinuxカーネルの機能です。通常、スワップ領域はディスク上に作成されるため、アクセスが遅くなりがちですが、ZRAMでは圧縮データをメモリ上に保持するため、ディスクよりも高速にアクセスできるという特徴があります。
ZRAMの特徴と仕組み
- 圧縮メモリの利用:
- ZRAMはデータを圧縮してメモリ上に保存するため、通常のメモリよりも少ないメモリで多くのデータを扱うことができます。たとえば、1GBのデータを圧縮して500MBにできれば、実際に使用するメモリは500MBのみとなり、効率が良くなります。
- 仮想スワップの高速化:
- 一般的なスワップ領域はディスクに作成されるため、スワップアクセスはディスクの速度に依存し、遅くなりやすいのが欠点です。ZRAMはメモリ上にスワップ領域を作るため、アクセス速度が速くなります。ディスクのスワップが発生するよりもパフォーマンスが向上します。
- メモリの節約:
- ZRAMが使われると、物理メモリの使用効率が向上し、少ない物理メモリでもより多くのデータやプロセスを扱うことができます。特にメモリが少ないシステム(Raspberry Piなどのシングルボードコンピュータ)で大きな効果を発揮します。
ZRAMの利点
- 低メモリ環境での有効性: メモリが少ない環境でもパフォーマンスの向上が期待できるため、Raspberry Piのような低リソースのシステムで特に役立ちます。
- ディスクの寿命延長: SDカードやSSDのスワップ使用が減るため、ディスクの寿命が延びる可能性があります。
- 高速なデータアクセス: 圧縮したメモリ上でスワップを行うため、ディスクスワップに比べてアクセスが速いです。
ZRAMの設定方法
ZRAMの利用には通常、LinuxカーネルにZRAMモジュールをロードし、必要に応じてスワップ領域を設定します。ディストリビューションによっては、zram-tools
などのパッケージが用意されているため、簡単に導入できます。
# ZRAMモジュールをロード
sudo modprobe zram
# ZRAMデバイスの作成と設定
echo lz4 > /sys/block/zram0/comp_algorithm # 圧縮アルゴリズムを指定
echo 512M > /sys/block/zram0/disksize # ZRAMのディスクサイズ設定
mkswap /dev/zram0 # スワップ領域の設定
swapon /dev/zram0 # スワップを有効化
以上のように、ZRAMはメモリを圧縮しつつ効率的に使う方法として、Raspberry Piやリソースが限られたシステムでのメモリ管理に非常に役立つ機能です。
Raspberry Piのスワップサイズを増やすには
Raspberry Piのスワップサイズを増やすには、以下の手順を実行します。
手順
- スワップファイルの設定ファイルを編集
sudo nano /etc/dphys-swapfile
CONF_SWAPSIZE
を変更
デフォルトではスワップサイズが設定されていないので、CONF_SWAPSIZE
を設定します。例えば、スワップを2GBにしたい場合は以下のように変更します。
CONF_SWAPSIZE=8192
CONF_SWAPSIZE
はスワップのサイズをMB単位で指定します。
- スワップサービスの再起動
設定を反映するために、スワップサービスを再起動します。
sudo systemctl restart dphys-swapfile
- スワップサイズの確認
正しく設定されたかを確認します。
free -m
Swap
のサイズが指定した値(上記の例では8192MB)になっていることを確認してください。
これで、Raspberry Piのスワップサイズが増えます。
8192MBにしたが2048MBになってしまった。
Raspberry Piのdphys-swapfile
では、設定によってもシステムの制限などで、指定したサイズが反映されない場合があります。このような場合には、直接スワップファイルを作成して、手動で設定する方法を試してみてください。
以下に手動で8GBのスワップファイルを作成する手順を説明します。
手順
- スワップファイルを無効にする
現在のスワップを一旦無効にします。
sudo dphys-swapfile swapoff
sudo systemctl stop dphys-swapfile
- 新しいスワップファイルを作成
8GB(8192MB)のスワップファイルを指定した場所に作成します。
sudo fallocate -l 8G /swapfile
または、fallocate
がサポートされていない場合は、dd
コマンドでも作成できます。
sudo dd if=/dev/zero of=/swapfile bs=1M count=8192
- スワップファイルのパーミッションを設定
セキュリティのため、スワップファイルのアクセス権限を制限します。
sudo chmod 600 /swapfile
- スワップファイルを有効化
作成したファイルをスワップとして利用できるようにします。
sudo mkswap /swapfile
sudo swapon /swapfile
- スワップが有効になったか確認
以下のコマンドでスワップサイズが8GBになっているか確認します。
free -m
- 起動時にスワップを自動的に有効化する
/etc/fstab
にエントリを追加して、起動時にスワップが有効になるように設定します。
echo '/swapfile none swap sw 0 0' | sudo tee -a /etc/fstab
これで、8GBのスワップが手動で設定されます。
Raspberry Pi 5 有線のIPアドレスを固定化
/etc/network/interfaces.d/
ディレクトリにネットワーク設定ファイルを配置する方法は、Debian系ディストリビューションで伝統的に使用されてきました。しかし、近年のDebianやUbuntuのバージョンでは、ネットワーク管理ツールとしてnetplan
やNetworkManager
が採用されており、これらのツールでは/etc/network/interfaces
やその関連ディレクトリの使用が推奨されなくなっています。
背景:
netplan
の導入: Ubuntu 18.04以降では、ネットワーク設定の管理にnetplan
が導入され、設定ファイルは通常/etc/netplan/
ディレクトリ内に配置されます。NetworkManager
の採用: デスクトップ環境を持つシステムや、最新のRaspberry Pi OSなどでは、NetworkManager
がネットワーク管理ツールとして採用されており、設定は/etc/NetworkManager/
以下に保存されます。
現状:
Debian GNU/Linux 12 (bookworm)や最新のRaspberry Pi OSでは、/etc/network/interfaces
や/etc/network/interfaces.d/
を直接編集する方法は非推奨となっており、代わりにnetplan
やNetworkManager
を使用してネットワーク設定を行うことが推奨されています。
推奨される対応:
netplan
の使用: サーバー環境やnetplan
が導入されているシステムでは、/etc/netplan/
ディレクトリ内にYAML形式の設定ファイルを作成し、ネットワーク設定を行います。NetworkManager
の使用: デスクトップ環境やNetworkManager
が採用されているシステムでは、nmcli
コマンドやGUIツールを使用してネットワーク設定を行います。
参考情報:
- Ubuntu 18.04以降での
/etc/network/interfaces
の非推奨についての詳細は、以下の記事をご参照ください。
以上のように、最新のシステムでは/etc/network/interfaces.d/
を使用した設定は非推奨となっており、netplan
やNetworkManager
を使用した設定方法への移行が求められています。
Raspberry Pi 5でDebian GNU/Linux 12 (bookworm)を使用している場合、有線接続のIPアドレスを固定化するには、NetworkManager
を利用する方法が一般的です。以下に手順を説明します。
1. 接続設定ファイルの確認
まず、現在の有線接続設定が保存されているファイルを確認します。通常、/etc/NetworkManager/system-connections/
ディレクトリ内に接続ごとの設定ファイルが存在します。以下のコマンドでディレクトリ内のファイルを一覧表示します。
ls /etc/NetworkManager/system-connections/
表示されたファイルの中から、目的の有線接続に対応するファイル名を確認してください。
2. 設定ファイルの編集
次に、該当する設定ファイルを編集します。ここでは、例としてwired_connection.nmconnection
というファイル名を使用します。
sudo nano /etc/NetworkManager/system-connections/wired_connection.nmconnection
[ipv4]
セクションを以下のように修正します。
[ipv4]
method=manual
addresses=192.168.1.100/24
gateway=192.168.1.1
dns=8.8.8.8;8.8.4.4;
method=manual
:IPアドレスを手動設定に変更します。addresses
:固定したいIPアドレスとサブネットマスクを指定します。例:192.168.1.100/24
gateway
:デフォルトゲートウェイのIPアドレスを指定します。dns
:使用するDNSサーバーのIPアドレスをセミコロン(;
)で区切って指定します。
3. ファイルの保存と権限設定
編集内容を保存し、ファイルの権限を適切に設定します。
sudo chmod 600 /etc/NetworkManager/system-connections/wired_connection.nmconnection
4. NetworkManagerの再起動
設定を反映させるため、NetworkManagerを再起動します。
sudo systemctl restart NetworkManager
5. 設定の確認
新しいIPアドレスが適用されているか確認します。
ip addr show
以上の手順で、有線接続のIPv4設定を固定IPアドレスに変更できます。
Raspberry Pi 5 Wi-FiのIPアドレスを固定化
Raspberry Pi 5でDebian GNU/Linux 12 (bookworm)を使用している場合、Wi-FiのIPアドレスを固定化するには、NetworkManager
を利用する方法が一般的です。以下に手順を説明します。
1. 接続設定ファイルの確認
まず、現在のWi-Fi接続設定が保存されているファイルを確認します。通常、/etc/NetworkManager/system-connections/
ディレクトリ内に接続ごとの設定ファイルが存在します。以下のコマンドでディレクトリ内のファイルを一覧表示します。
ls /etc/NetworkManager/system-connections/
表示されたファイルの中から、目的のWi-Fi接続に対応するファイル名を確認してください。
2. 設定ファイルの編集
次に、該当する設定ファイルを編集します。ここでは、例としてpreconfigured.nmconnection
というファイル名を使用します。
sudo nano /etc/NetworkManager/system-connections/preconfigured.nmconnection
[ipv4]
セクションを以下のように修正します。
[ipv4]
method=manual
addresses=192.168.1.100/24
gateway=192.168.1.1
dns=8.8.8.8;8.8.4.4;
method=manual
:IPアドレスを手動設定に変更します。addresses
:固定したいIPアドレスとサブネットマスクを指定します。例:192.168.1.100/24
gateway
:デフォルトゲートウェイのIPアドレスを指定します。dns
:使用するDNSサーバーのIPアドレスをセミコロン(;
)で区切って指定します。
3. ファイルの保存と権限設定
編集内容を保存し、ファイルの権限を適切に設定します。
sudo chmod 600 /etc/NetworkManager/system-connections/preconfigured.nmconnection
4. NetworkManagerの再起動
設定を反映させるため、NetworkManagerを再起動します。
sudo systemctl restart NetworkManager
5. 設定の確認
新しいIPアドレスが適用されているか確認します。
ip addr show
以上の手順で、Wi-Fi接続のIPv4設定を固定IPアドレスに変更できます。
Bracketed Paste モードの無効化
Windowsで「^[[200~
」のような文字列が付加されてしまう問題は、通常、ターミナルエミュレータの設定またはクリップボードの内容をペーストする際に問題が発生することが原因です。具体的には、以下の要因が考えられます。
原因
- Bracketed Paste モードの影響
- 「
^[[200~
」は「Bracketed Paste(ブラケット付きペースト)」モードに関連するシーケンスです。このモードは、ターミナルにおいてペーストされた内容が明確に分かるようにするためのもので、コピー&ペーストの開始と終了を示す制御文字を自動で挿入します。 - これは通常、LinuxやUnix系のシェル(例えば、
bash
やzsh
)で有効になっており、特にエディタやターミナルエミュレータによってはこの機能が自動で利用されることがあります。
- ターミナルエミュレータやコマンドプロンプトの設定
- Windows環境で使われているターミナルエミュレータ(例えば、
PowerShell
、cmd
、Windows Terminal
など)によっては、コピー・ペーストの扱いが異なり、その際にエスケープシーケンスが意図せず含まれることがあります。 - 例えば、ペーストを行う際に特定のキーコンビネーションが反応してしまうことで、このような余計な文字列が付加される場合があります。
- クリップボードの内容が不正な形式でコピーされている
- コピーしたときに、余計な制御文字やエスケープシーケンスがクリップボードに含まれていることも考えられます。
- これは、コピー元のアプリケーションやエディタの状態によって発生することがあります。
解決策
- Bracketed Paste モードの無効化
bash
やzsh
などの設定ファイル(例えば.bashrc
や.zshrc
)で「Bracketed Paste」を無効化することができます。次のような行を設定ファイルに追加してから、シェルを再起動してください。bash bind 'set enable-bracketed-paste off'
- これによって、ペースト時に「
^[[200~
」のような制御文字が付かなくなる場合があります。
- 別のターミナルエミュレータの使用
- Windows Terminal、Git Bash、またはWSL(Windows Subsystem for Linux)などのターミナルエミュレータを使用すると、この問題が解消されることがあります。これらのターミナルエミュレータはLinux環境により近い動作をするため、Windowsの
cmd
やPowerShell
での互換性の問題が回避されます。
- クリップボードの内容を確認・修正
- クリップボードにコピーされた内容をテキストエディタ(例えば、メモ帳)に一度貼り付けて、不要な文字列が含まれていないことを確認してから、再度コピーしてターミナルにペーストするのも一つの解決策です。
- ターミナルの設定変更
- 使用しているターミナルの設定(特に「Bracketed Paste」関連の設定)を確認し、それを無効化することでこの問題を回避できることがあります。
Windows環境で発生するこれらのシーケンスは、特にbash
やUnix系シェルをWindows上で使っている場合に発生しやすいため、上記の対応を試してみてください。それでも解決しない場合は、使っているターミナルエミュレータの種類と設定をもう一度見直してみることをおすすめします。
viが古い互換モードで動作している
vi
エディタで矢印キーを押すと、左で「D」、右で「C」、上で「A」、下で「B」と表示される現象は、vi
が古い互換モードで動作しているために発生します。このモードでは、矢印キーの入力が正しく解釈されず、結果としてこれらの文字が表示されてしまいます。
解決方法:
vim
のインストール:vim
はvi
の改良版で、矢印キーの問題が解決されています。以下のコマンドでvim
をインストールしてください。
sudo apt-get update
sudo apt-get install vim
vim
の設定ファイルを作成・編集:
ホームディレクトリに.vimrc
という設定ファイルを作成し、以下の内容を追加します。
echo "set nocompatible" >> ~/.vimrc
この設定により、vi
互換モードが無効化され、矢印キーが正常に動作するようになります。
vim
の使用:
今後はvi
の代わりにvim
を使用することで、矢印キーの問題を回避できます。例えば、ファイルを編集する際には以下のようにします。
vim ファイル名
補足情報:
vi
とvim
の違いについて詳しく知りたい場合は、以下の参考記事をご覧ください。vim
の基本的な使い方やコマンドについては、以下の記事が参考になります。
これらの手順を実行することで、vi
エディタでの矢印キーの問題を解決できます。