loog

gemma-2-9b-it-GGUF を試す

August 09, 2024

Google Gemma 2

Google の OPEN LLM です。

今回は 90億(9B)と270億(27B)の2つが公開されました。

27Bの方は、量子化してもサイズが大きすぎて私の手持ちのマシンでは動かないようです。

具体的には、Q4_K_Mで、VRAM 22GB 必要とするようです。

そこで、9Bを使用します。

9B gguf ラインナップ

こちらから gguf ファイルを頂戴します。

https://huggingface.co/bartowski/gemma-2-9b-it-GGUF

※2024-08-09 現在

FilenameQuant typeFile SizeSplitDescription
gemma-2-9b-it-f32.gguff3236.97GBfalseFull F32 weights.
gemma-2-9b-it-Q8_0.ggufQ8_09.83GBfalseExtremely high quality, generally unneeded but max available quant.
gemma-2-9b-it-Q6_K_L.ggufQ6_K_L7.81GBfalseUses Q8_0 for embed and output weights. Very high quality, near perfect, recommended.
gemma-2-9b-it-Q6_K.ggufQ6_K7.59GBfalseVery high quality, near perfect, recommended.
gemma-2-9b-it-Q5_K_L.ggufQ5_K_L6.87GBfalseUses Q8_0 for embed and output weights. High quality, recommended.
gemma-2-9b-it-Q5_K_M.ggufQ5_K_M6.65GBfalseHigh quality, recommended.
gemma-2-9b-it-Q5_K_S.ggufQ5_K_S6.48GBfalseHigh quality, recommended.
gemma-2-9b-it-Q4_K_L.ggufQ4_K_L5.98GBfalseUses Q8_0 for embed and output weights. Good quality, recommended.
gemma-2-9b-it-Q4_K_M.ggufQ4_K_M5.76GBfalseGood quality, default size for must use cases, recommended.
gemma-2-9b-it-Q4_K_S.ggufQ4_K_S5.48GBfalseSlightly lower quality with more space savings, recommended.
gemma-2-9b-it-IQ4_XS.ggufIQ4_XS5.18GBfalseDecent quality, smaller than Q4_K_S with similar performance, recommended.
gemma-2-9b-it-Q3_K_L.ggufQ3_K_L5.13GBfalseLower quality but usable, good for low RAM availability.
gemma-2-9b-it-Q3_K_M.ggufQ3_K_M4.76GBfalseLow quality.
gemma-2-9b-it-IQ3_M.ggufIQ3_M4.49GBfalseMedium-low quality, new method with decent performance comparable to Q3_K_M.
gemma-2-9b-it-Q3_K_S.ggufQ3_K_S4.34GBfalseLow quality, not recommended.
gemma-2-9b-it-IQ3_XS.ggufIQ3_XS4.14GBfalseLower quality, new method with decent performance, slightly better than Q3_K_S.
gemma-2-9b-it-Q2_K_L.ggufQ2_K_L4.03GBfalseUses Q8_0 for embed and output weights. Very low quality but surprisingly usable.
gemma-2-9b-it-Q2_K.ggufQ2_K3.81GBfalseVery low quality but surprisingly usable.
gemma-2-9b-it-IQ3_XXS.ggufIQ3_XXS3.80GBfalseLower quality, new method with decent performance, comparable to Q3 quants.
gemma-2-9b-it-IQ2_M.ggufIQ2_M3.43GBfalseRelatively low quality, uses SOTA techniques to be surprisingly usable.

ということなので、gemma-2-9b-it-Q6_K.gguf を使わせていただきます。

テスト

今回も Llamafile からお手軽テストです。

あいさつ

User: おはよう

Llama: おはようございます! 今日も良い一日になりますように。<end_of_turn>

コーディングの依頼

User: BS4 を使用して、cli 引数に url, CSS セレクター を受取り、text を全て返す python code を書いて。

Llama:
import bs4 as soup
import argparse

def scrape_text(url, selector):
  """URL と CSS セロクタからテキストを抽出する関数

  Args:
    url (str): スクレイピング対象の URL
    selector (str): テキストを抽出したい要素に対する CSS セレクター

  Returns:
    str: 抽出したテキスト
  """
  response = requests.get(url)
  response.raise_for_status()  # エラー発生時の処理を追加

  soup = soup.BeautifulSoup(response.content, 'html.parser')
  elements = soup.select(selector) 
  text = ''.join([element.text for element in elements])
  return text

if __name__ == "__main__":
  parser = argparse.ArgumentParser()
  parser.add_argument("url", help="スクレイピング対象の URL")
  parser.add_argument("selector", help="テキストを抽出したい要素に対する CSS セレクタ")
  args = parser.parse_args()

  text = scrape_text(args.url, args.selector)
  print(text) 


使い方:

1. 上記のコードを scrape.py などに保存します。
2. ターミナルで以下のように実行します。

 python scrape.py https://www.example.com "h1" 
 


- https://www.example.com: スクレイピング対象の URL を指定します。
- "h1": <h1> タグ内のテキストを抽出する CSS セレクタです。


注意:

* このコードは、基本的なスクレイピングを行うためのものです。複雑なウェブサイトやデータを取得する場合には、追加処理が必要になる場合があります。



<end_of_turn>

見事書き切りました!