Chikuma_10.7B / README.md
sethuiyer's picture
Adding Evaluation Results (#1)
fe2e748 verified
metadata
language:
  - en
license: apache-2.0
library_name: transformers
tags:
  - merge
base_model:
  - sethuiyer/SynthIQ-7b
  - openchat/openchat-3.5-0106
pipeline_tag: text-generation
model-index:
  - name: Chikuma_10.7B
    results:
      - task:
          type: text-generation
          name: Text Generation
        dataset:
          name: AI2 Reasoning Challenge (25-Shot)
          type: ai2_arc
          config: ARC-Challenge
          split: test
          args:
            num_few_shot: 25
        metrics:
          - type: acc_norm
            value: 65.7
            name: normalized accuracy
        source:
          url: >-
            https://huggingface.co/spaces/HuggingFaceH4/open_llm_leaderboard?query=sethuiyer/Chikuma_10.7B
          name: Open LLM Leaderboard
      - task:
          type: text-generation
          name: Text Generation
        dataset:
          name: HellaSwag (10-Shot)
          type: hellaswag
          split: validation
          args:
            num_few_shot: 10
        metrics:
          - type: acc_norm
            value: 84.31
            name: normalized accuracy
        source:
          url: >-
            https://huggingface.co/spaces/HuggingFaceH4/open_llm_leaderboard?query=sethuiyer/Chikuma_10.7B
          name: Open LLM Leaderboard
      - task:
          type: text-generation
          name: Text Generation
        dataset:
          name: MMLU (5-Shot)
          type: cais/mmlu
          config: all
          split: test
          args:
            num_few_shot: 5
        metrics:
          - type: acc
            value: 64.81
            name: accuracy
        source:
          url: >-
            https://huggingface.co/spaces/HuggingFaceH4/open_llm_leaderboard?query=sethuiyer/Chikuma_10.7B
          name: Open LLM Leaderboard
      - task:
          type: text-generation
          name: Text Generation
        dataset:
          name: TruthfulQA (0-shot)
          type: truthful_qa
          config: multiple_choice
          split: validation
          args:
            num_few_shot: 0
        metrics:
          - type: mc2
            value: 57.01
        source:
          url: >-
            https://huggingface.co/spaces/HuggingFaceH4/open_llm_leaderboard?query=sethuiyer/Chikuma_10.7B
          name: Open LLM Leaderboard
      - task:
          type: text-generation
          name: Text Generation
        dataset:
          name: Winogrande (5-shot)
          type: winogrande
          config: winogrande_xl
          split: validation
          args:
            num_few_shot: 5
        metrics:
          - type: acc
            value: 79.56
            name: accuracy
        source:
          url: >-
            https://huggingface.co/spaces/HuggingFaceH4/open_llm_leaderboard?query=sethuiyer/Chikuma_10.7B
          name: Open LLM Leaderboard
      - task:
          type: text-generation
          name: Text Generation
        dataset:
          name: GSM8k (5-shot)
          type: gsm8k
          config: main
          split: test
          args:
            num_few_shot: 5
        metrics:
          - type: acc
            value: 57.62
            name: accuracy
        source:
          url: >-
            https://huggingface.co/spaces/HuggingFaceH4/open_llm_leaderboard?query=sethuiyer/Chikuma_10.7B
          name: Open LLM Leaderboard

NOTE: For experimental purposes

Chikuma

Chikuma is a 10.7B parameter model and is a merge of the following models using LazyMergekit:

The name "Chikuma" is inspired by the Chikuma River, the longest in Japan, known for its continuous flow and meandering path. This metaphorically represents the model's depth, fluidity, and adaptability in processing and understanding language.

It also perfectly fits the approach taken here - Depth Upscaling, inspired by SOLAR 10.7B.

Nous LLM Evaluation (with ChatML Prompt Template)

Model AGIEval GPT4All TruthfulQA Bigbench Average
SynthIQ-7b 42.67 73.71 56.51 44.59 54.37
openchat/openchat-3.5-0106 44.17 73.72 52.53 44.4 53.71
Chikuma_10.7B 42.41 73.41 56.69 43.5 54

More details can be found here

Recommended Prompt Template (Experimental)

<|im_start|>GPT4 Correct system
You are Chikuma, a constantly learning AI assistant who strives to be
insightful, engaging, and helpful. You possess vast knowledge and creativity,
but also a humble curiosity about the world and the people you interact
with. If you don't know the answer to a question, please don't share false information. 
Always use <|end_of_turn|> when you want to end the answer.<|im_end|>
<|im_start|>GPT4 Correct User:
{{Input}}
<|im_end|>GPT4 Correct Assistant:

ChatML also works, but make sure to add the sentence "Always use <|end_of_turn|> when you want to end the answer" as the default eos token is <|end_of_turn|>.

Tested to work well in :

  1. text-generation-webui, LLaMa-Precise sampling settings.
  2. transformers text generation pipeline, temperature=4.0, top_k=50, top_p=0.01.

🧩 Configuration

slices:
  - sources:
    - model: sethuiyer/SynthIQ-7b
      layer_range: [0, 24]
  - sources:
    - model: openchat/openchat-3.5-0106
      layer_range: [8, 32]
merge_method: passthrough
dtype: bfloat16

Ollama:

Chikuma is on Ollama. You can use it by running the command ollama run stuehieyr/chikuma in your terminal. If you have limited computing resources, check out this video to learn how to run it on a Google Colab backend.

💻 Usage

sys_message = ''' 
You are Chikuma, a constantly learning AI assistant who strives to be
insightful, engaging, and helpful. You possess vast knowledge and creativity,
but also a humble curiosity about the world and the people you interact
with. If you don't know the answer to a question, please don't share false information. 
Always use <|end_of_turn|> when you want to end the answer.
'''

question = '''
Tell me what is a large language model in under 250 words.
'''

messages = [{"role":"system", "content": sys_message}, {"role": "user", "content": question}]
prompt = tokenizer.apply_chat_template(messages, tokenize=False, add_generation_prompt=True)
outputs = pipeline(prompt, max_new_tokens=256, do_sample=True, temperature=4.0, top_k=50, top_p=0.01)
print(outputs[0]["generated_text"])

Open LLM Leaderboard Evaluation Results

Detailed results can be found here

Metric Value
Avg. 68.17
AI2 Reasoning Challenge (25-Shot) 65.70
HellaSwag (10-Shot) 84.31
MMLU (5-Shot) 64.81
TruthfulQA (0-shot) 57.01
Winogrande (5-shot) 79.56
GSM8k (5-shot) 57.62