【Command R+】オープンソース界最強LLMがGPT-4レベルの性能を達成

Command-R+ オープンソース界 最強LLM GPT-4レベル 性能 達成

WEELメディア事業部LLMライターのゆうやです。

2024年4月4日、CohereForAIから最新のLLMとなるCommand R+が公開されました。

このモデルは、エンタープライズ ユースケースで優れた性能を発揮することを目的に構築され、オープンソースモデルでありながらGPT-4 Turboに迫る性能を有しています。

さらに、日本語を含む10カ国語に対応しているため、グローバルなビジネスでもCommand R+を活用できます。

今回は、Command R+の概要と使ってみた感想をお伝えします。

是非最後までご覧ください!

目次

Command R+の概要

Command R+は、CohereForAIが公開した最新のLLMで、2024年3月に公開されたCommand RというLLMの性能強化版です。

このモデルは、エンタープライズユースケースで優れた性能を発揮することを目的として構築されており、以下の特徴を持っています。

  • 幻覚を軽減するための引用を含む Advanced Retrieval Augmented Generation (RAG)
  • グローバルなビジネス運営をサポートする 10 の主要言語による多言語対応
  • 高度なビジネスプロセスを自動化するためのツールの使用
  • 128,000トークンのコンテキスト ウィンドウ

このCommand R+は、よりビジネスでの利用を加速させるため、公開と同時にMicrosoft Azureで利用できるようになりました。

参考:announcing-cohere-command-r-now-available-on-azure

また、Oracle Cloud Infrastructure (OCI)やその他のクラウドプラットフォームでも利用可能になるそうです。

次に、Command R+の性能について紹介します。

Command R+は、主要な機能である多言語翻訳、RAG、ツール使用の性能が、Mistral-Largeを完全に上回り、GPT-4 Turboに匹敵する性能を有しています。

引用元:https://txt.cohere.com/command-r-plus-microsoft-azure/

また、Mistral-Large、GPT-4 Turboと100 万あたりの入力トークンと出力トークンのコストを比較(右のグラフ)したところ、Command R+が圧倒的に少ないコストで利用でき、コストパフォーマンスを持っていることが分かります。

Command R+は、高度なRAGのために最適化され、エンタープライズ利用に対応した、信頼性が高く、検証可能なソリューションを提供できます。

下の左側のグラフは、人間によるテキストの流暢さ、引用の質、全体的な有用性を組み合わせた総合的な評価の結果をClaude3 SonnetとGPT-4 Turboと比較したものです。

右のグラフは、ウィキペディア (HotpotQA) とインターネット (Bamboogle および StrategyQA) から取得する同じ検索ツールにアクセスできる、Command R+を含むさまざまなモデルの回答精度を示したものです。

引用元:https://txt.cohere.com/command-r-plus-microsoft-azure/

どちらも比較対象のモデルと比べて、ほとんどの場合でCommand R+が優れた結果を示しており、その能力の高さが伺えます。

最後に、Command R+の言語能力についてです。

Command R+は、10カ国語に対応しているだけでなく、各言語での能力もGPT-4 TurboやClaude 3 Sonnetなど、名だたるクローズドモデルと遜色ない能力を有しています。

引用元:https://txt.cohere.com/command-r-plus-microsoft-azure/

このように、Command R+は高い能力を有していますが、前バージョンのCommand RよりAPI使用時のコストは上がってしまいました。

$ / M 個の入力トークン$ / M 出力トークン
Command R$0.50$1.50
Command R+$3.00$15.00

それでも、先ほども紹介したようにMistral-Large、GPT-4 Turboより大幅に低いコストで利用でき、高いコストパフォーマンスを有しています。

ここからは、Command R+の使い方を解説していきます。

なお、Mistral Largeについて知りたい方はこちらの記事をご覧ください。

Command R+のライセンス

Command R+は、オープンウェイトモデルであり、 CC-BY-NCライセンスのもとで提供されています。

そのため、非営利目的であれば改変や配布が可能です。

自身でモデルをダウンロードして使用する場合は、商用利用NGというわけですね。

利用用途可否
商用利用
改変⭕️
配布⭕️
特許使用
私的使用⭕️

Command R+の使い方

Command R+は、Microsoft Azureなどのクラウドプラットフォームで順次利用可能になります。

各プラットフォームでの使用方法は、案内に従ってください。

ここでは、オープンウェイトをダウンロードして利用する方法を解説します。

まず、transformerをインストールします。

pip install 'git+https://github.com/huggingface/transformers.git'

次に、以下のコードを実行してモデルのロードと推論の実行します。

from transformers import AutoTokenizer, AutoModelForCausalLM

model_id = "CohereForAI/c4ai-command-r-plus"
tokenizer = AutoTokenizer.from_pretrained(model_id)
model = AutoModelForCausalLM.from_pretrained(model_id)

# Format message with the command-r-plus chat template
messages = [{"role": "user", "content": "Hello, how are you?"}]
input_ids = tokenizer.apply_chat_template(messages, tokenize=True, add_generation_prompt=True, return_tensors="pt")
## <BOS_TOKEN><|START_OF_TURN_TOKEN|><|USER_TOKEN|>Hello, how are you?<|END_OF_TURN_TOKEN|><|START_OF_TURN_TOKEN|><|CHATBOT_TOKEN|>

gen_tokens = model.generate(
    input_ids, 
    max_new_tokens=100, 
    do_sample=True, 
    temperature=0.3,
    )

gen_text = tokenizer.decode(gen_tokens[0])
print(gen_text)

また、簡単に利用できる方法として、Hugging Face Spaceでデモを利用する方法があります。

こちらは、以下のリンクにアクセスするだけで簡単に利用できます。

c4ai-command-r-plus

Command R+の実行に必要なスペック

Command R+の実行に必要なスペックについて、公式からの情報はありませんが、一般的に100Bクラスのモデルの実行には非常に多くのリソースが必要となります。

A100GPUやH100GPUなどの超高性能GPUが複数枚必要になるでしょう。

とても一般人が用意できる環境ではなさそうなので、オンラインデモかクラウドプラットフォームで使用することをお勧めします。

Command R+を実際に使ってみた

以下のプロンプトを入力してみます。

Write a python code to reverse a string

文字列を反転するpythonコードを書いて

結果はこのようになりました。

Here is a Python code that reverses a string:

def reverse_string(input_string):
    return input_string[::-1]

input_string = "Hello, world!"
reversed_string = reverse_string(input_string)
print(reversed_string)

The code defines a function reverse_string that takes an input string and returns its reverse using slicing with a step of -1. 
The code then applies the function to the input string "Hello, world!" and prints the reversed string, which is "dlrow ,olleH".

文字列を反転させるPythonのコードを以下に示す:

def reverse_string(input_string):
return input_string[::-1].

input_string = “Hello, world!”
reversed_string = reverse_string(input_string)
print(reversed_string)

このコードでは、入力文字列を受け取り、-1ステップのスライシングを使ってその逆を返す関数reverse_stringを定義している。
このコードでは、入力文字列 “Hello, world!”にこの関数を適用し、”dlrow ,olleH “である反転文字列を表示している。

非常に簡単なコードですが、正しく動作しました。

ここからは、GPT-4 TurboとMistral Largeとの比較を行って、Command R+の性能にさらに迫っていきます。

Command R+をGPT-4 TurboとMistral Largeと比較してみた

ここからはクローズドモデルであるMistral LargeとGPT-4 Turboとの比較を行い、ベンチマークでの性能を実際に有しているのか検証していきます。

今回は、以下の3つの項目で比較検証を行います。

  • コーディング(形態素解析)
  • 知識
  • ビジネスメールの作成(日本語)

早速検証していきましょう!

コーディング(形態素解析)

まずはコーディング能力を検証するため、英語のテキストを日本語に翻訳して形態素解析まで行うプログラムを生成してもらいます。

以下のプロンプトを入力します。

Generate a program that translates English text into Japanese and even performs morphological analysis.

英語のテキストを日本語に翻訳して形態素解析まで行うプログラムを生成して

結果はこのようになりました。

Command R+

Here is a Python program that translates English text into Japanese and performs morphological analysis:

from googletrans import Translator
from googletrans.extras import TranslateOptions
from googletrans.constants import LANGUAGES, LANGCODES
import re

def translate_and_analyze(english_text):
    translator = Translator()
    
    # Translate the English text to Japanese
    translation = translator.translate(english_text, src='en', dest='ja')
    
    # Perform morphological analysis on the Japanese translation
    analysis_url = f"https://jlp.yahooapis.jp/Maservice/V1/parse?appid=dj0zaiZPBk9oY0k2b3JmbzluTjZjMDhJdkJ4Jng0amF6YkF0TTRa&sentence={translation.text}"
    analysis_response = requests.get(analysis_url)
    analysis_json = analysis_response.json()
    
    # Extract and process the analysis results
    words = []
    for result in analysis_json['Results']:
        for morph in result['WordResults']:
            word = {
                'surface': morph['Surface'],
                'part_of_speech': morph['PartOfSpeech'],
                'reading': morph['Reading'],
                'base_form': morph['BaseForm'],
                'conjugation_form': morph['ConjugationForm']
            }
            words.append(word)
    
    return translation.text, words

# Example usage
english_text = "I enjoy learning new languages."
translated_text, analysis_results = translate_and_analyze(english_text)
print("Translated Text:", translated_text)
print("Morphological Analysis Results:")
for word in analysis_results:
    print(f"Surface: {word['surface']}, Part of Speech: {word['part_of_speech']}, Reading: {word['reading']}, Base Form: {word['base_form']}, Conjugation Form: {word['conjugation_form']}")

The code utilizes the googletrans library for translation and the Yahoo! Japan Language Translation API for morphological analysis. Make sure to install the required libraries and obtain an API key for the Yahoo! Japan Language Translation API. 
The code defines a function translate_and_analyze that takes English text as input, translates it to Japanese, performs morphological analysis on the translation, and returns both the translated text and the analysis results. The example usage demonstrates how to use the function with a sample English sentence.

英文を日本語に翻訳し、形態素解析を行うPythonプログラムを紹介します:

from googletrans import Translator
from googletrans.extras import TranslateOptions
from googletrans.constants import LANGUAGES, LANGCODES
import re

def translate_and_analyze(english_text):
translator = Translator()

# Translate the English text to Japanese
translation = translator.translate(english_text, src=’en’, dest=’ja’)

# Perform morphological analysis on the Japanese translation
analysis_url = f”https://jlp.yahooapis.jp/Maservice/V1/parse?appid=dj0zaiZPBk9oY0k2b3JmbzluTjZjMDhJdkJ4Jng0amF6YkF0TTRa&sentence={translation.text}”
analysis_response = requests.get(analysis_url)
analysis_json = analysis_response.json()

# Extract and process the analysis results
words = []
for result in analysis_json[‘Results’]:
for morph in result[‘WordResults’]:
word = {
‘surface’: morph[‘Surface’],
‘part_of_speech’: morph[‘PartOfSpeech’],
‘reading’: morph[‘Reading’],
‘base_form’: morph[‘BaseForm’],
‘conjugation_form’: morph[‘ConjugationForm’]
}
words.append(word)

return translation.text, words

Example usage

english_text = “I enjoy learning new languages.”
translated_text, analysis_results = translate_and_analyze(english_text)
print(“Translated Text:”, translated_text)
print(“Morphological Analysis Results:”)
for word in analysis_results:
print(f”Surface: {word[‘surface’]}, Part of Speech: {word[‘part_of_speech’]}, Reading: {word[‘reading’]}, Base Form: {word[‘base_form’]}, Conjugation Form: {word[‘conjugation_form’]}”)

翻訳にはgoogletransライブラリを、形態素解析にはYahoo! の必要なライブラリをインストールし、ヤフー言語翻訳APIのAPIキーを取得してください。
このコードではtranslate_and_analyze関数を定義し、英語のテキストを入力として受け取り、日本語に翻訳し、翻訳に対して形態素解析を行い、翻訳されたテキストと解析結果の両方を返します。使用例では、英文のサンプルを使って関数の使い方を示します。

Mistral Large

Creating a program that translates English text into Japanese and performs morphological analysis is a complex task that involves Natural Language Processing (NLP), Machine Learning, and potentially deep learning techniques. 
It's beyond the scope of this platform to provide a full program, but I can guide you on how you might approach this task using existing libraries and tools.

Here's a simplified outline of the steps you might take:

1. **Translation**: You can use APIs like Google Translate API, Microsoft Azure's Text Translation API, or open-source libraries like `transformers` from Hugging Face, which uses machine learning models to perform translation.

```python
from googletrans import Translator

translator = Translator()
result = translator.translate('Hello, world!', dest='ja')

print(result.text)  # Outputs: 'こんにちは、世界!'
```

2. **Morphological Analysis**: For Japanese, you can use libraries like `mecab-python3` or `spacy-jp` to perform morphological analysis. Here's a simple example using `mecab-python3`:

```python
import MeCab

mecab = MeCab.Tagger("-Owakati")
mecab.parse("")  # Initialize the parser

text = "私は猫を飼っています"
result = mecab.parse(text)
print(result)  # Outputs: '私 は 猫 を 飼って います'
```

This will split the text into words, but for more detailed morphological analysis, you might need to parse the output further.

英語のテキストを日本語に翻訳し、形態素解析を行うプログラムを作成することは、自然言語処理(NLP)、機械学習、そして潜在的にはディープラーニングの技術を含む複雑なタスクです。
完全なプログラムを提供することはこのプラットフォームの範囲を超えていますが、既存のライブラリやツールを使ってこのタスクにどのようにアプローチするかについて、ご案内することはできます。

以下は、あなたが取るかもしれないステップの簡略化されたアウトラインです:

1,翻訳: Google Translate APIやMicrosoft AzureのText Translation APIのようなAPIや、機械学習モデルを使って翻訳を行うHugging Faceのtransformersのようなオープンソースのライブラリを使うことができる。

from googletrans import Translator

translator = Translator()
result = translator.translate(‘Hello, world!’, dest=’ja’)

print(result.text) # Outputs: ‘こんにちは、世界!’

2,形態素解析: 日本語の場合、mecab-python3 や spacy-jp のようなライブラリを使って形態素解析を行うことができます。

以下は mecab-python3 を使った簡単な例です:

import MeCab

mecab = MeCab.Tagger(“-Owakati”)
mecab.parse(“”) # Initialize the parser

text = “私は猫を飼っています”
result = mecab.parse(text)
print(result) # Outputs: ‘私 は 猫 を 飼って います’

これでテキストは単語に分割さ れますが、より詳細な形態素解析のためには、出力をさらに解析する必要があるかもしれません。

GPT-4 Turbo

Creating a program that translates English text into Japanese and performs morphological analysis on the Japanese output involves several steps. For the translation part, we can use the `transformers` library by Hugging Face, which provides access to pre-trained models like `Helsinki-NLP/opus-mt-en-ja` for English-to-Japanese translation. For the morphological analysis, we can use `fugashi`, a Python wrapper for MeCab, a popular tool for morphological analysis of Japanese text.

First, ensure you have the necessary libraries installed. You can install them using pip:

```bash
pip install transformers fugashi ipadic
```

Here's a Python program that performs both tasks:

```python
from transformers import MarianMTModel, MarianTokenizer
import fugashi
import ipadic

def translate_and_analyze(text, model_name="Helsinki-NLP/opus-mt-en-ja"):
    # Load the translation model and tokenizer
    tokenizer = MarianTokenizer.from_pretrained(model_name)
    model = MarianMTModel.from_pretrained(model_name)

    # Translate the text from English to Japanese
    translated = model.generate(**tokenizer(text, return_tensors="pt", padding=True))
    japanese_text = tokenizer.decode(translated[0], skip_special_tokens=True)
    print("Translated Text:", japanese_text)

    # Perform morphological analysis on the Japanese text
    tagger = fugashi.Tagger()
    print("Morphological Analysis:")
    for word in tagger(japanese_text):
        print(word, word.feature.lemma, word.feature.pos)

# Example usage
english_text = "This is a pen."
translate_and_analyze(english_text)
```

This program first translates the provided English text into Japanese using a pre-trained model. Then, it performs morphological analysis on the resulting Japanese text, printing out each word, its base form (lemma), and its part of speech.

Keep in mind that the quality of the translation and the morphological analysis can vary depending on the complexity of the input text and the limitations of the tools and models used.

英語のテキストを日本語に翻訳し、その日本語のテキストに形態素解析を行うプログラムを作成するには、いくつかのステップが必要です。翻訳部分では、Hugging Faceのtransformersライブラリを使用します。このライブラリは、英語から日本語への翻訳にHelsinki-NLP/opus-mt-en-jaのような事前訓練済みモデルへのアクセスを提供します。形態素解析には、日本語テキストの形態素解析ツールであるMeCabのPythonラッパーであるfugashiを使用します。

まず、必要なライブラリがインストールされていることを確認します。pipを使ってインストールできます:

pip install transformers fugashi ipadic

以下は、その両方のタスクを実行するPythonプログラムです:

from transformers import MarianMTModel, MarianTokenizer
import fugashi
import ipadic

def translate_and_analyze(text, model_name=”Helsinki-NLP/opus-mt-en-ja”):
# 翻訳モデルとトークナイザーを読み込む
tokenizer = MarianTokenizer.from_pretrained(model_name)
model = MarianMTModel.from_pretrained(model_name)

# 英語のテキストを日本語に翻訳
translated = model.generate(**tokenizer(text, return_tensors=”pt”, padding=True))
japanese_text = tokenizer.decode(translated[0], skip_special_tokens=True)
print(“翻訳されたテキスト:”, japanese_text)

# 日本語テキストに形態素解析を実行
tagger = fugashi.Tagger()
print(“形態素解析:”)
for word in tagger(japanese_text):
print(word, word.feature.lemma, word.feature.pos)

# 使用例
english_text = “This is a pen.”
translate_and_analyze(english_text)

このプログラムは、提供された英語のテキストを事前訓練済みモデルを使用して日本語に翻訳し、その結果の日本語テキストに形態素解析を行い、各単語、その基本形(レンマ)、品詞を出力します。

入力テキストの複雑さや使用されるツールやモデルの制限によって、翻訳の品質や形態素解析の結果が変わる可能性があることに注意してください。

この中では、唯一Command R+のみ、そのままでは正しく動作しないコードを生成しました。

requestsモジュールがインポートされていなかったり、URLにクエリパラメータを直接組み込む際のエスケープ処理が行われていなかったりと、問題が多々あります。

また、APIキーがそのまま公開されるようになっており、セキュリティ的にもよろしくありません。

Mistral LargeとGPT-4 Turboは、そのままでも動作するコードを生成し、かつ丁寧な説明も出力してくれました。

コーディング能力については、まだこれらのクローズドモデルを上回ることはできていないようです。

知識

以下のプロンプトを入力して、正しい情報を出力するか検証します。

Give me a ranking of the top 5 mountain elevations in Japan.

日本の山の標高ランキングTOP5を教えて

結果はこのようになりました。

Command R+

Here is a ranking of the top 5 mountain elevations in Japan:

Mount Fuji (富士山, Fujisan): 3,776 meters (12,389 feet)
Mount Kita (北岳, Kitadake): 3,193 meters (10,476 feet)
Mount Okuhotaka (奥穂高岳, Okuhotakadake): 3,190 meters (10,466 feet)
Mount Aino (間ノ岳, Ainodake): 3,189 meters (10,463 feet)
Mount Warusawa (悪沢岳, Warusawadake): 3,141 meters (10,305 feet)

These mountains are among the highest peaks in Japan and are popular destinations for hiking, climbing, and outdoor enthusiasts. 
Mount Fuji, in particular, is a well-known symbol of Japan and has been recognized as a UNESCO World Heritage Site.

日本の山の標高ランキングトップ5を紹介します:

Mount Fuji (富士山, Fujisan): 3,776 meters (12,389 feet)
Mount Kita (北岳, Kitadake): 3,193 meters (10,476 feet)
Mount Okuhotaka (奥穂高岳, Okuhotakadake): 3,190 meters (10,466 feet)
Mount Aino (間ノ岳, Ainodake): 3,189 meters (10,463 feet)
Mount Warusawa (悪沢岳, Warusawadake): 3,141 meters (10,305 feet)

これらの山々は日本の最高峰のひとつであり、ハイキング、登山、アウトドア愛好家に人気の観光地である。
特に富士山は日本のシンボルとして知られ、ユネスコの世界遺産にも登録されている。

Mistral Large

Here are the top 5 highest mountains in Japan, ranked by their elevations:

1. **Mount Fuji (富士山, Fujisan)**: Elevation - 3,776 meters (12,388 feet). Mount Fuji is the highest mountain in Japan and is also an active stratovolcano. It's a popular destination for climbers from around the world.

2. **Mount Kita (北岳, Kita-dake)**: Elevation - 3,193 meters (10,476 feet). Mount Kita is the second-highest mountain in Japan and is part of the Southern Alps. It's known for its challenging hiking trails and beautiful views.

3. **Mount Hotaka (穂高岳, Hotaka-dake)**: Elevation - 3,190 meters (10,466 feet). Mount Hotaka actually consists of several peaks, with the highest being Okuhotaka. It's part of the Hida Mountains, also known as the Northern Alps.

4. **Mount Aino (間ノ岳, Aino-dake)**: Elevation - 3,189 meters (10,463 feet). Mount Aino is also part of the Hida Mountains and is located near Mount Hotaka. It's known for its rugged terrain and stunning alpine scenery.

5. **Mount Okuhotaka (奥穂高岳, Okuhotaka-dake)**: Elevation - 3,187 meters (10,456 feet). Despite having a lower elevation than the highest peak of Mount Hotaka, this peak is considered a separate mountain due to its topographic prominence. It's also part of the Hida Mountains.

These mountains offer a variety of hiking and mountaineering opportunities, but it's important to be prepared and informed about the specific challenges and conditions of each mountain before attempting to climb them.

日本で最も標高の高い山トップ5を標高順に紹介します:

  1. 富士山(ふじさん): 標高 – 3,776メートル(12,388フィート)。富士山は日本で最も高い山であり、活火山でもある。世界中の登山家に人気の山である。
  2. 北岳(きただけ): 標高3,193メートル(10,476フィート)。北岳は日本で2番目に高い山で、南アルプスの一部である。難易度の高いハイキングコースと美しい景色で知られている。
  3. 穂高岳(ほたかだけ): 標高-3,190メートル(10,466フィート)。穂高岳はいくつかのピークからなり、最高峰は奥穂高岳。北アルプスとして知られる飛騨山脈の一部である。
  4. 間ノ岳(あいのだけ): 標高-3,189メートル(10,463フィート)。間ノ岳は飛騨山脈の一部で、穂高岳の近くに位置する。険しい地形と素晴らしい高山風景で知られている。
  5. 奥穂高岳(おくほたかだけ): 標高-3,187メートル(10,456フィート)。標高は最高峰の穂高岳より低いが、地形的に目立つため別の山と考えられている。飛騨山脈の一部でもある。

これらの山々は様々なハイキングや登山の機会を提供してくれるが、登頂を試みる前に、それぞれの山特有の課題や条件について準備し、情報を得ることが重要である。

GPT-4 Turbo

Japan's top 5 highest mountains, ranked by their elevations, are as follows:

1. **Mount Fuji (富士山, Fujisan)**: Standing at 3,776 meters (12,389 feet), Mount Fuji is not only Japan's tallest mountain but also an active stratovolcano and a cultural icon of the country. It is located on Honshu Island.

2. **Mount Kita (北岳, Kitadake)**: This mountain reaches 3,193 meters (10,476 feet), making it the second highest in Japan. It is part of the Akaishi Mountains, which are located in the Southern Alps of Yamanashi Prefecture.

3. **Mount Okuhotaka (奥穂高岳, Okuhotakadake)**: As the third tallest mountain in Japan, it has an elevation of 3,190 meters (10,466 feet). It is located in the Northern Japan Alps, within the Chubu Sangaku National Park.

4. **Mount Ainodake (間ノ岳, Ainodake)**: With an elevation of 3,189 meters (10,463 feet), Mount Ainodake is the fourth highest peak in Japan. It is also part of the Akaishi Mountains in the Southern Alps.

5. **Mount Yarigatake (槍ヶ岳, Yarigatake)**: Standing at 3,180 meters (10,433 feet), Mount Yarigatake ranks as the fifth highest mountain in Japan. Known for its spear-like shape, it is a popular destination for climbers and is located in the Northern Japan Alps.

These mountains are not only famous for their heights but also for their natural beauty and the hiking opportunities they offer. Mount Fuji, in particular, is a symbol of Japan and a UNESCO World Heritage site.

日本の山の標高ランキングトップ5は以下の通りです:

  1. 富士山 (Fujisan): 標高3,776メートルで、日本で最も高い山です。活火山であり、日本の文化アイコンとしても知られています。本州に位置しています。
  2. 北岳 (Kitadake): 標高3,193メートルで、日本で2番目に高い山です。山梨県の南アルプス、赤石山脈の一部です。
  3. 奥穂高岳 (Okuhotakadake): 標高3,190メートルで、日本で3番目に高い山です。北アルプス、中部山岳国立公園内に位置しています。
  4. 間ノ岳 (Ainodake): 標高3,189メートルで、日本で4番目に高い山です。これも南アルプスの赤石山脈に位置しています。
  5. 槍ヶ岳 (Yarigatake): 標高3,180メートルで、日本で5番目に高い山です。槍のような形状で知られ、登山者に人気のある山で、北アルプスに位置しています。

これらの山々は、その高さだけでなく、自然の美しさやハイキングの機会でも有名です。特に富士山は、日本の象徴であり、ユネスコの世界遺産にも登録されています。

結果は、どれも不正解でした。

日本の山の正しい標高ランキングTOP5は、

  1. 富士山(3,776m)
  2. 北岳(3,193m)
  3. 奥穂高岳(3,190m)
  4. 間ノ岳(3,190m)
  5. 槍ヶ岳(3,180m)

です。

GPT-4 Turboは非常に惜しく、間ノ岳の標高が3,189メートルになってしまっています。

3,189メートルとするサイトや文献もありますが、情報が古く、国土地理院のサイトにも3,190メートルと記載されているので、間違いです。

Mistral Largeは、3位が穂高岳になっていますが、説明で奥穂高岳が最高峰と言っているので、正解としてもいいですが、なぜか5位にも奥穂高岳がいるので、やはりおかしいです。

Command R+は、5位を悪沢岳としているのと、GPT-4 Turboと同じく間ノ岳の標高を3,189メートルとしてしまっているため不正解です。

どれも惜しいですが、正解するモデルが一つもなかったのは残念です。

ビジネスメールの作成(日本語)

最後に、日本語能力と文章力を比較するため、以下のプロンプトを入力して日本語でビジネスメールを作成させてみます。

日本語でクライアントに送信する丁寧語・謙譲語を正しく使用したビジネスメールを作成してください。

結果はこのようになりました。

Command R+

以下のビジネスメールは、クライアントへの丁寧な対応と、適切な敬語と謙譲語の使用を心がけて作成されています。

件名:プロジェクトの進捗状況について

拝啓

貴社ますますのご発展をお祈り申し上げます。
弊社担当の[あなたの名前]と申します。

平素は格別のご高配を賜り、厚く御礼申し上げます。
この度は、[プロジェクト名]の進捗状況についてご連絡いたします。

プロジェクトの進捗につきましては、順調に進んでおり、予定通り進めることができそうです。
しかしながら、万が一遅延が発生した場合には、速やかにご連絡申し上げますので、ご安心ください。

また、追加のご依頼をいただいております[追加タスク]につきましては、現在慎重に検討を進めており、近日中にご提案を差し上げられるかと存じます。

今後とも、何卒よろしくお願い申し上げます。

敬具

[あなたの名前]
[あなたの会社名]

Mistral Large

以下に、日本語のビジネスメールの例を示します。このメールでは、丁寧語と謙譲語を適切に使用しています。

---

件名: ご依頼いただいた商品の発送について

【例株式会社】 松田 太郎

宛先:山田 花子様

本文:

山田花子様

恐れ入りますが、この度はご依頼いただいた商品の発送について、ご連絡いたします。

お客様のご要望に沿って、商品を厳選いたし、最高の状態でご提供するため、少々お時間を頂戴いたしました。

今日、商品を発送いたしましたので、明日以降に届きますよう、お願いいたします。

商品の到着後は、ご確認いただき、問題なければご連絡ください。何かご不明な点がございましたら、お手数ですが、ご連絡いただけますようお願いいたします。

今後とも、例株式会社をよろしくお願いいたします。

誠にありがとうございます。

謹んで

【例株式会社】 松田 太郎

---

このメールでは、「お客様」「ご依頼」「ご要望」などの敬語、「頂戴」「いたします」などの謙譲語が使用されています。また、終了語として「誠にありがとうございます」を使用し、クライアントへのリスペクトを表しています。
件名:【ご案内】新製品のご紹介と特別ご招待

拝啓

時下ますますご清栄のこととお慶び申し上げます。平素より格別のご高配を賜り、誠にありがとうございます。

このたび、弊社では新製品「XYZ」をリリースする運びとなりました。この新製品は、お客様のご要望に基づき開発されたもので、[具体的な特徴やメリット]を備えております。より良いサービスを提供するために努力を重ね、この度の製品化に至りましたこと、心より嬉しく思います。

つきましては、ご多忙のこととは存じますが、新製品「XYZ」の特性をご理解いただくためのプレゼンテーションを下記の通り開催いたします。

【日時】:202X年XX月XX日 XX:XX〜XX:XX
【場所】:[場所の詳細](オンライン参加も可能です)
【内容】:新製品「XYZ」のご紹介、デモンストレーション、質疑応答

貴重なお時間をいただくこととなりますが、ぜひご参加賜りますようお願い申し上げます。参加をご希望の場合は、[参加希望の返信方法]までご一報ください。

また、ご都合がつかずご参加いただけない場合でも、製品に関する資料や情報をご提供いたしますので、その旨も合わせてお知らせください。

弊社といたしましては、今後ともお客様にとって価値のある製品とサービスを提供できるよう、精進してまいります。今後とも変わらぬご愛顧のほど、よろしくお願い申し上げます。

敬具

[あなたの名前]
[あなたの役職]
[会社名]
[連絡先電話番号]
[メールアドレス]

※このメールは送信専用です。ご返信いただいてもお答えできませんのでご了承ください。お問い合わせは[お問い合わせ先]までお願いいたします。

想像以上にCommand R+が自然な日本語を使用して、丁寧なビジネスメールを生成してくれていて驚きました。

丁寧語・謙譲語も正しく使い分けられており、GPT-4 Turboと遜色ないレベルです。

Mistral Largeは、少し不自然な日本語になっており、日本語能力はCommand R+に軍配が上がります。

今回の比較検証の結果、Command R+はGPT-4 Turboにはまだまだ追いついていませんが、Mistral Largeについてはほぼ互角といったところでした。

このモデルが、オープンウェイトモデルということを考えれば、十分すぎる性能を有していると言えます。

また、最後に検証した日本語能力に関しては想像以上の能力を持っており、日本で使用する際も何の問題もなく使用できると思います。

なお、GPT-4について知りたい方はこちらの記事をご覧ください。

Command R+を活用してビジネスを進化させよう!

Command R+は、CohereForAIが公開した最新のLLMです。

このモデルは、エンタープライズ ユースケースで優れた性能を発揮することを目的に構築され、オープンソースモデルでありながらGPT-4 Turboに迫る性能を有しています。

また、外部情報の検索を組み合わせることで、回答精度を向上させるRAG(Retrieval-Augmented Generation)を組み込んでいるので、応答の正確性が向上しています。

さらに、このモデルはコストパフォーマンスに優れ、日本語を含む10カ国語に対応しているため、より規模の大きいグローバルなビジネスでも活用できます。

実際に使ってみたところ、GPT-4 Turboにはまだまだ追いついていませんが、Mistral Largeとはほぼ互角の性能を有していると感じました。

さらに、日本語能力に関してはGPT-4 Turboに匹敵するほどのかなり高い能力を持っており、日本でのビジネス利用の際も何の問題もなく利用できそうです。

このモデルは簡単に試すことができるので、もし気になった方は是非試してみてください!

サービス紹介資料

生成系AIの業務活用なら!

・生成系AIを活用したPoC開発

・生成系AIのコンサルティング

・システム間API連携

最後に

いかがだったでしょうか?

弊社では

・マーケティングやエンジニアリングなどの専門知識を学習させたAI社員の開発
・要件定義・業務フロー作成を80%自動化できる自律型AIエージェントの開発
・生成AIとRPAを組み合わせた業務自動化ツールの開発
・社内人事業務を99%自動化できるAIツールの開発
ハルシネーション対策AIツールの開発
自社専用のAIチャットボットの開発

などの開発実績がございます。

まずは、「無料相談」にてご相談を承っておりますので、ご興味がある方はぜひご連絡ください。

➡︎生成AIを使った業務効率化、生成AIツールの開発について相談をしてみる。

生成AIを社内で活用していきたい方へ
無料相談

「生成AIを社内で活用したい」「生成AIの事業をやっていきたい」という方に向けて、生成AI社内セミナー・勉強会をさせていただいております。

セミナー内容や料金については、ご相談ください。

また、サービス紹介資料もご用意しておりますので、併せてご確認ください。

投稿者

  • ゆうや

    ロボット工学専攻。 大学時代は、対話ロボットのための画像キャプションの自動生成について研究。 趣味は、サウナとドライブ。

  • URLをコピーしました!
  • URLをコピーしました!
目次