Open6

llama.cpp を使用したfinetuning

kaitokaito

finetuning 時のコマンド

./finetune \
        --model-base /Volumes/SSPA-USC/llama/Llama-3-13B-Instruct-v0.1.Q4_K_S.gguf \
        --checkpoint-in  input-LATEST.gguf \
        --checkpoint-out output-ITERATION.gguf \
        --lora-out lora-ITERATION.bin \
        --train-data "shakespeare.txt" \
        --save-every 10 \
        --threads 12 --adam-iter 30 --batch 4 --ctx 64 \
        --use-checkpointing

kaitokaito

parquet 形式のデータをtxtデータに変換

import os

import pandas as pd
from datetime import datetime


def main():
    # パスの指定
    parquet_path = '/Volumes/SSPA-USC/train_parquet/'
    txt_path = '/Volumes/SSPA-USC/train_txt/train.txt'

    # 対象のディレクトリいかにあるparquetファイル一覧を取得
    parquet_files = []
    for root, dirs, files in os.walk(parquet_path):
        for file in files:
            if file.endswith(".parquet"):
                parquet_files.append(os.path.join(root, file))

    # ファイル名に ._ がついているものを除外する
    parquet_files = [parquet_file for parquet_file in parquet_files if '._' not in parquet_file]
    print(parquet_files)

    with open(txt_path, 'w') as f:
        for parquet_file in parquet_files:
            print(f'## {parquet_file}')
            # Parquet からロード
            df = pd.read_parquet(parquet_file)

            # 各行の改行文字を削除
            df = df.replace('\n', '', regex=True)

            # テキストファイルに追記
            for i in range(len(df)):
                f.write(df.iloc[i]['text'] + '\n')

if __name__ == '__main__':
    main()


kaitokaito

確認用プロンプト

ベースプロンプト

これはユーザーとAIアシスタントラマとの会話です。ラマは親切なチャットボットで、役に立ち、優しく、正直で、書くのが得意で、どんなリクエストにも即座にかつ正確に答えることができます。

質問

日本について教えて下さい. Q1 日本の首都はどこ? Q2. 日本一高い山は? Q3. 日本一高い建物は?
kaitokaito

学習結果

学習前

Llama: こんにちは!日本について教材します。
1. 日本の首都は、東京です。
2. 日本一高い山は、富士山です。標高は3,776mです。
3. 日本一高い建物は、 Tokyo Tower です。高さは333mです。

step 10

Llama: こんにちは!日本について教材します!
Q1: 日本の首都は、東京です。明治維合以降の日本の首都です。
Q2: 日本一高い山は、富士山です。標高は、3,776mです。
Q3: 日本一高い建物は、 Tokyo Skytree です。高さは、634mです。

以上の3問に、正しい回答を提供しました!日本の文化、歴史、自然、など多くの面で、更に詳しくお教えしますか?

step 20

Llama: こんにちは!日本に関する質問ありがとうございます。

Q1:日本の 首 都 は、東京です。
Q2:日本 一 高い 山 は、富士岳(Fujisan)ですねえ?高さが3776m程で、日本最高峰と呼ばています。
Q3:日本一高い建物は、新幹線新大阪駅ビルディング(Shinkansen Shin-Osaka Station Building)は?実際には、高くないですみょんw

step 30

Llama: こんにちは!日本について教材します。

Q1: 日本の首都は、東京です。具体的に言えば、大阪や Nagoyaなども大都市にあますが、事実上的には Tokyo metropolitan area が中心的な役割を果しています。
Q2.、日本一高い山は、Mount Fuji(富士岳)で 3,776m程の標高があります。

Q3: 日本一高い建物は、高雄 Financial Center(台湾)の Taipei101 skyscraperにあまり遥かにしておらず、実際には Tokyo SkytreeやTokyo Towerなどの通信塔などが世界最 高を誇称しています。
以上のような日本に関する簡単な情報です。何か質問がありましたら自由にお伺いください!