サイトのデザインが新しくなりました。

【Groq】一秒で500トークン、GPT-4の25倍のスピードで出力できるAIを使ってみた

Groq 500 トークン GPT-4 25倍 AI

WEELメディア事業部LLMリサーチャーの中田です。

ここ数日で、言語生成AIの「Groq」が話題になりました。

これにより、GPTよりも高速でテキストを生成できるんです、、、!

XでのGroq関連の投稿のいいね数は、すで1100を超えており、国内でも期待されていることが分かります。

この記事ではGroqの使い方や、有効性の検証まで行います。本記事を熟読することで、Groqの凄さを実感し、その他のLLMサービスには戻れなくなるでしょう。

ぜひ、最後までご覧ください。

なお弊社では、生成AIツール開発についての無料相談を承っています。こちらからお気軽にご相談ください。

目次

Groqの概要

Groqとは、1秒で500トークン出力できるAIチャットボットです。これは、GPT-4の「20トークン/秒」と比較しても、25倍の速度を誇ります。

GoogleのTPUを開発した人が立ちあげたスタートアップで、結構前からあるらしい。それが最近になって、話題になったのだとか。

ChatGPTと同様、無料でWebブラウザ上で試すことができ、日本語も対応可能とのこと。

Groqの速さは、LPU(Language Processing Unit)と呼ばれる新しいチップにより実現されており、GPUやCPUを超える計算能力で、生成速度を飛躍的に向上させています。

また、Groqが開発したTensor Streaming Processor(TSP)は、従来のGPUとは異なる新しい処理ユニットで、Linear Processor Unit(LPU)と呼ばれます。このLPUでは、AIにおける計算において効率的なアーキテクチャが採用されているそう。

これにより、計算効率が大幅に向上し、大規模大きなAIのプロジェクトでもスムーズに動かすことができます。

一方、Groqは生成速度が強みとはいえ、トレードオフとして品質の低下が少ないと言われています。

なお、GPT3.5やLlama2 70Bを上回るLLMについて詳しく知りたい方は、下記の記事を合わせてご確認ください。
【Mixtral-8x7B】GPT3.5とLlama2 70Bを上回る性能の無料オープンソースを使ってみた

Groqのライセンス

公式ページTerms and Conditionsによると、Llama 2 Licenseの下、誰でも無償で商用利用することが可能です。

利用用途可否
商用利用⭕️
改変⭕️
配布⭕️
特許使用
私的使用⭕️
参考:https://ai.meta.com/llama/license/

Groqの使い方

まずは、GroqのWebブラウザ版のページに移動してください。すると、以下の画面に移動すると思います。

参考:https://groq.com/

画面上部の「Enter prompt here」の部分が、プロンプトを入力する箇所です。

ちなみに、Groqでは、以下の3種類のモデルが利用可能です。

  • Llama 2 70B-4k
  • Mixtral 8×7B-32k
  • Mistral 7B-8k

モデルに関しては、左上のプルダウンメニューから選択できます。

参考:https://groq.com/

また、右上の設定メニューでは、システムプロンプトや最大出力トークン数などを設定できます。

参考:https://groq.com/
参考:https://groq.com/
参考:https://groq.com/

試しに、日本語で「日本の総理大臣は誰ですか?」とたずねてみます。すると、結果は以下の通りになりました。

参考:https://groq.com/

日本語だと不自然な回答ですが、英訳の文章だと、「日本の内閣総理大臣は岸田文雄である。2021年10月4日就任。」と回答しているのが分かります。ちなみに、こちらの回答は正しいです。

また、「End to End Time」の部分を見ると、回答までにわずか0.54秒しか要していないことが分かります。

ちなみに、APIも利用できるので、Groq公式のAPIに関するページを参考にしてください。

Groqを動かすのに必要なPCのスペック

ChatGPTと同様で、オープンソース化されていないので、必要なスペックは不明です。

■Pythonのバージョン
ローカルで実行していないため不明

■使用ディスク量
ローカルで実行していないため不明

■RAMの使用量
ローカルで実行していないため不明

なお、ChatGPTのオープンソース版であるLlama 2について詳しく知りたい方は、下記の記事を合わせてご確認ください。
【Llama 2】オープンソース版ChatGPTの使い方〜ChatGPTとの比較まで

GroqとGPT-4を比較してみた

ここでは、Groq(Mixtral8×7B)とChatGPT(GPT-4)を比較します。GroqのモデルをMixtral8×7Bにした理由は、「当モデルの精度がLlama 2 70BやGPT-3.5よりも高い」と言われているからです。

参考:https://mistral.ai/news/mixtral-of-experts/

具体的には、以下のタスクを解かせます。

  • 画像認識の深層学習モデルの構築
  • 日本語のビジネスメール作成
  • 2000文字程度のブログ作成

主に、「回答速度」と「生成結果の精度」を比較していきます。

画像認識の深層学習モデルの構築

まずは、CIFAR-10を用いて画像認識モデルを構築し、「どちらのチャットボットで構築したモデルの方が、精度が高いのか」を検証します。そのために、以下のプロンプトを用いました。

Create a deep learning model of image recognition using the CIFAR-10 dataset, which is readily available in PyTorch. In doing so, please make the model as accurate as possible.

和訳:
PyTorchで簡単に利用できるCIFAR-10データセットを使用して、画像認識のディープラーニングモデルを作ってください。その際、できるだけ精度の高いモデルを作ってください。

Groq(Mixtral8×7B)の出力結果のコードは、以下の通りです。

import torch
import torchvision
import torchvision.transforms as transforms

transform = transforms.Compose(
    [transforms.RandomHorizontalFlip(),
     transforms.RandomCrop(32, padding=4),
     transforms.ToTensor(),
     transforms.Normalize((0.5, 0.5, 0.5), (0.5, 0.5, 0.5))])

trainset = torchvision.datasets.CIFAR10(root='./data', train=True,
                                        download=True, transform=transform)
trainloader = torch.utils.data.DataLoader(trainset, batch_size=100,
                                          shuffle=True, num_workers=2)

testset = torchvision.datasets.CIFAR10(root='./data', train=False,
                                       download=True, transform=transform)
testloader = torch.utils.data.DataLoader(testset, batch_size=100,
                                         shuffle=False, num_workers=2)

classes = ('plane', 'car', 'bird', 'cat',
           'deer', 'dog', 'frog', 'horse', 'ship', 'truck')


import torch.nn as nn
import torch.nn.functional as F

def conv3x3(in_planes, out_planes, stride=1):
    "3x3 convolution with padding"
    return nn.Conv2d(in_planes, out_planes, kernel_size=3, stride=stride,
                     padding=1, bias=False)

class BasicBlock(nn.Module):
    expansion = 1

    def __init__(self, inplanes, planes, stride=1):
        super(BasicBlock, self).__init__()
        self.conv1 = conv3x3(inplanes, planes, stride)
        self.bn1 = nn.BatchNorm2d(planes)
        self.conv2 = conv3x3(planes, planes)
        self.bn2 = nn.BatchNorm2d(planes)

        self.shortcut = nn.Sequential()
        if stride != 1 or inplanes != planes:
            self.shortcut = nn.Sequential(
                nn.Conv2d(inplanes, planes, kernel_size=1, stride=stride, bias=False),
                nn.BatchNorm2d(planes)
            )

    def forward(self, x):
        out = F.relu(self.bn1(self.conv1(x)))
        out = self.bn2(self.conv2(out))
        out += self.shortcut(x)
        out = F.relu(out)
        return out

class PreActResNet(nn.Module):
    def __init__(self, block, num_blocks, num_classes=10):
        super(PreActResNet, self).__init__()
        self.inplanes = 16
        self.conv1 = conv3x3(3, 16)
        self.bn1 = nn.BatchNorm2d(16)
        self.layer1 = self._make_layer(block, 16, num_blocks[0])
        self.layer2 = self._make_layer(block, 32, num_blocks[1], stride=2)
        self.layer3 = self._make_layer(block, 64, num_blocks[2], stride=2)
        self.fc = nn.Linear(64 * block.expansion, num_classes)

    def _make_layer(self, block, planes, num_blocks, stride=1):
        strides = [stride] + [1]*(num_blocks-1)
        layers = []
        for stride in strides:
            layers.append(block(self.inplanes, planes, stride))
            self.inplanes = planes * block.expansion
        return nn.Sequential(*layers)

    def forward(self, x):
        out = F.relu(self.bn1(self.conv1(x)))
        out = self.layer1(out)
        out = self.layer2(out)
        out = self.layer3(out)
        out = F.avg_pool2d(out, 4)
        out = out.view(out.size(0), -1)
        out = self.fc(out)
        return out

model = PreActResNet(BasicBlock, [2, 2, 2])

import torch.optim as optim

criterion = nn.CrossEntropyLoss()
optimizer = optim.SGD(model.parameters(), lr=0.1, momentum=0.9, weight_decay=5e-4)

for epoch in range(200):  # loop over the dataset multiple times

    running_loss = 0.0
    for i, data in enumerate(trainloader, 0):
        inputs, labels = data

        optimizer.zero_grad()

        outputs = model(inputs)
        loss = criterion(outputs, labels)
        loss.backward()
        optimizer.step()

        running_loss += loss.item()
        if i % 2000 == 199:    # print every 2000 mini-batches
            print('[%d, %5d] loss: %.3f' %
                  (epoch + 1, i + 1, running_loss / 2000))
            running_loss = 0.0

print('Finished Training')

correct = 0
total = 0
with torch.no_grad():
    for data in testloader:
        images, labels = data
        outputs = model(images)
        _, predicted = torch.max(outputs.data, 1)
        total += labels.size(0)
        correct += (predicted == labels).sum().item()

print('Accuracy of the network on the 10000 test images: %d %%' % (
    100 * correct / total))

# Example of a prediction
input_tensor = torch.randn(1, 3, 32, 32)
output = model(input_tensor)
_, predicted = torch.max(output.data, 1)
print('Predicted: ', ' '.join('%5s' % classes[predicted[0]]))

上記のコードを動かしたところ、以下のエラーが発生しました。

RuntimeError: mat1 and mat2 shapes cannot be multiplied (100x256 and 64x10)

ChatGPT(GPT-4)の出力結果のコードは、以下の通りです。

import torch
import torchvision
import torchvision.transforms as transforms

# Transformations
transform = transforms.Compose(
    [transforms.ToTensor(),
     transforms.Normalize((0.5, 0.5, 0.5), (0.5, 0.5, 0.5))])

# Load CIFAR-10 training and test datasets
trainset = torchvision.datasets.CIFAR10(root='./data', train=True,
                                        download=True, transform=transform)
trainloader = torch.utils.data.DataLoader(trainset, batch_size=4,
                                          shuffle=True, num_workers=2)

testset = torchvision.datasets.CIFAR10(root='./data', train=False,
                                       download=True, transform=transform)
testloader = torch.utils.data.DataLoader(testset, batch_size=4,
                                         shuffle=False, num_workers=2)

classes = ('plane', 'car', 'bird', 'cat',
           'deer', 'dog', 'frog', 'horse', 'ship', 'truck')

import torch.nn as nn
import torch.nn.functional as F

class Net(nn.Module):
    def __init__(self):
        super(Net, self).__init__()
        self.conv1 = nn.Conv2d(3, 6, 5)
        self.pool = nn.MaxPool2d(2, 2)
        self.conv2 = nn.Conv2d(6, 16, 5)
        self.fc1 = nn.Linear(16 * 5 * 5, 120)
        self.fc2 = nn.Linear(120, 84)
        self.fc3 = nn.Linear(84, 10)

    def forward(self, x):
        x = self.pool(F.relu(self.conv1(x)))
        x = self.pool(F.relu(self.conv2(x)))
        x = x.view(-1, 16 * 5 * 5)
        x = F.relu(self.fc1(x))
        x = F.relu(self.fc2(x))
        x = self.fc3(x)
        return x

net = Net()

import torch.optim as optim

criterion = nn.CrossEntropyLoss()
optimizer = optim.SGD(net.parameters(), lr=0.001, momentum=0.9)

for epoch in range(10):  # loop over the dataset multiple times

    running_loss = 0.0
    for i, data in enumerate(trainloader, 0):
        inputs, labels = data

        optimizer.zero_grad()

        outputs = net(inputs)
        loss = criterion(outputs, labels)
        loss.backward()
        optimizer.step()

        running_loss += loss.item()
        if i % 2000 == 1999:    # print every 2000 mini-batches
            print('[%d, %5d] loss: %.3f' %
                  (epoch + 1, i + 1, running_loss / 2000))
            running_loss = 0.0

print('Finished Training')

correct = 0
total = 0
with torch.no_grad():
    for data in testloader:
        images, labels = data
        outputs = net(images)
        _, predicted = torch.max(outputs.data, 1)
        total += labels.size(0)
        correct += (predicted == labels).sum().item()

print('Accuracy of the network on the 10000 test images: %d %%' % (
    100 * correct / total))

ChatGPTの方は最後まで実行することができ、テストデータでのAccuracyは62%という結果になりました。

また、回答速度については、以下の結果になりました。

  • Groq(Mixtral8×7B):4秒
  • ChatGPT(GPT-4):100秒
2倍速

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

次に、「取引先との商談の場を設けてもらうための、相手方に送るアポイントのメール」を、日本語で出力させてみます。そのために、以下のプロンプトを用いました。

Please write an appointment e-mail to ask your business partner to set up a business meeting. Please output your response in Japanese.

和訳:
取引先に商談の場を設けてもらうための、アポイントのメールを書いてください。回答は日本語で出力してください。

Groq(Mixtral8×7B)の出力結果は、以下の通りです。

Of course, I'd be happy to help you with that! Here's a template for an appointment email in Japanese:

Subject: ビジネス mt のお願い

こんにちは [Business Partner's Name],

I hope this email finds you well. I wanted to reach out and ask if you might be available for a business meeting in the coming weeks. I believe that a face-to-face conversation would be beneficial for us to discuss our current projects and explore potential opportunities for collaboration.

How does your schedule look for the week of [insert dates]? I am available at your convenience and would be happy to adjust my schedule to find a time that works best for you.

Additionally, is there anything specific you would like me to prepare or bring to the meeting? I want to ensure that our time together is well spent and that we can make the most of our discussion.

Thank you for considering my request. I look forward to hearing from you soon.

Best regards,

[Your Name]

[Your Company Name]

[Your Email Address]

[Your Phone Number]

Note: It's important to be polite and respectful in Japanese business emails. Using formal language and addressing the recipient using their last name followed by "-san" is recommended. Also, make sure to include all necessary information such as date, time, and location of the meeting, as well as any materials or preparations needed.

ChatGPT(GPT-4)の出力結果は、以下の通りです。

Subject: ビジネスミーティングのご提案について

拝啓

貴社益々のご発展を心よりお祈り申し上げます。この度は、私どもとのビジネスミーティングの機会を設けていただければと考え、メールを差し上げました。

私たちは貴社との関係を大変重視しており、今後のプロジェクトや取引について具体的な話し合いを進めたいと考えております。そこで、ご都合の良い日時をお知らせいただけますでしょうか。私たちとしては、来週の月曜日から金曜日の間で、午前中に会議を設定することを希望しておりますが、貴社のスケジュールを優先いたしますので、ご提案いただける日時がございましたら幸いです。

会議の内容としては、以下の点を中心に話し合いたいと考えております。

両社間の現在のプロジェクトの進行状況
新規プロジェクトの提案
契約条件の見直し
その他、相互のビジネスに関する提案や情報の共有
会議はオンラインでの実施を想定しておりますが、貴社のご都合がよければ対面での実施も検討いたします。使用するオンラインミーティングツールについても、ZoomやMicrosoft Teamsなど、貴社が好ましいものをお選びいただければと思います。

貴重なお時間をいただき、ありがとうございます。貴社からのご返信を心よりお待ちしております。何かご質問等ございましたら、遠慮なくお問い合わせください。

敬具

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

また、回答速度については、以下の結果になりました。

  • Groq(Mixtral8×7B):1秒
  • ChatGPT(GPT-4):59秒
2倍速

2000文字以上のブログ作成

最後に、「2000以上のプログラミングに関するブログ記事」を出力させてみます。そのために、以下のプロンプトを用いました。

Please write a blog post that provides an overview of programming in at least 2000 words.

和訳:
プログラミングの概要を解説するブログ記事を、2000文字以上で書いてください。

Groq(Mixtral8×7B)の出力結果は、以下の通りです(4335文字)。

Title: An Overview of Programming: Understanding the Basics and Beyond

Introduction

In the modern world, programming has become a crucial skill, powering everything from mobile apps to websites to complex enterprise systems. This blog post aims to provide a comprehensive overview of programming, explaining what programming is, its importance, the basics of programming, and the different programming paradigms and languages.

What is Programming?

Programming is the process of creating instructions that a computer can execute. These instructions are written in a programming language, which is a set of rules and syntax that the computer understands. Programming involves breaking down a problem into smaller, manageable pieces, and then writing code that solves each piece. The code is then compiled or interpreted, turning it into machine code that the computer can execute.

Importance of Programming

Programming is a critical skill in today's digital age. It enables us to create software applications, websites, and mobile apps that have transformed the way we live, work, and communicate. Programming is also a creative process that allows us to solve complex problems and build innovative solutions. Moreover, programming is a highly sought-after skill in the job market, with many well-paying careers available for skilled programmers.

Basics of Programming

At its core, programming involves a few basic concepts that are essential to understand. These include:

1. Variables: Variables are containers that store data. They are given a name, and data can be assigned to them. For example, a variable can store a number, a string of text, or a more complex data structure.
2. Data Types: Data types are the different types of data that can be stored in variables. Common data types include integers, floating-point numbers, strings, and booleans.
3. Control Structures: Control structures are statements that control the flow of the program. They include if-else statements, loops, and switch-case statements.
4. Functions: Functions are reusable blocks of code that perform a specific task. They can take inputs, called parameters, and return outputs.
5. Arrays and Lists: Arrays and lists are data structures that store multiple values in a single variable.
6. Objects and Classes: Objects and classes are used in object-oriented programming to represent real-world objects and their properties and behaviors.

Programming Paradigms and Languages

There are several programming paradigms, each with its own set of rules and principles. The most common programming paradigms include:

1. Procedural Programming: Procedural programming involves writing a series of steps, or procedures, that the computer follows to solve a problem. Procedural programming languages include C, Fortran, and COBOL.
2. Object-Oriented Programming: Object-oriented programming involves creating objects that represent real-world objects and their properties and behaviors. Object-oriented programming languages include Java, C++, and Python.
3. Functional Programming: Functional programming involves writing functions that take inputs and return outputs, without changing any external state. Functional programming languages include Haskell, Lisp, and Scheme.
4. Declarative Programming: Declarative programming involves describing what the program should do, rather than how it should do it. Declarative programming languages include SQL, Prolog, and HTML.

Choosing the right programming language depends on the problem you are trying to solve, the environment in which the program will run, and your personal preferences. Some programming languages are better suited for certain tasks than others. For example, if you are building a website, you might choose JavaScript, while if you are building a mobile app, you might choose Swift or Kotlin.

Conclusion

Programming is a critical skill in today's digital age. Understanding the basics of programming, including variables, data types, control structures, functions, arrays and lists, and objects and classes, is essential for anyone looking to build software applications, websites, or mobile apps. Additionally, understanding the different programming paradigms and languages can help you choose the right tool for the job. With the right skills and knowledge, programming can be a rewarding and fulfilling career path.

ChatGPT(GPT-4)の出力結果は、以下の通りです(6453文字)。

Title: Navigating the World of Programming: A Comprehensive Overview

Introduction:

Programming is the backbone of the digital age, a fundamental skill that powers everything from the websites we browse to the apps we use daily. It's a vast field, encompassing a variety of languages, paradigms, and technologies. This blog post aims to demystify programming, offering a broad overview that covers its history, key concepts, popular languages, and practical applications. Whether you're a budding programmer or simply curious about how software comes to life, join us on this journey through the intricacies of programming.

1. The Evolution of Programming:

Programming's history is a fascinating saga of human ingenuity and technological advancement. It began in the 1940s with basic machine languages, where programmers used binary code to communicate with computers. This era was characterized by laborious processes, as each command had to be meticulously crafted and inputted. The invention of assembly language made programming slightly more intuitive, though it was still a far cry from the user-friendly languages we have today.

The real breakthrough came with the development of high-level programming languages like FORTRAN and COBOL in the 1950s and 1960s. These languages allowed programmers to write code in a more natural, English-like syntax, significantly lowering the barrier to entry. The subsequent decades saw the emergence of languages designed for specific purposes, from C's system-level programming in the 1970s to Python's general-purpose versatility in the 1990s.

2. Understanding the Basics:

Before diving into coding, it's crucial to grasp some fundamental concepts that underpin all programming languages:

Variables: Think of variables as containers that store information. This data can be numbers, text, or more complex types like lists and objects.
Control Structures: These are the decision-making backbone of a program, allowing the code to execute different actions based on certain conditions (if-else statements) or repeat actions (loops).
Functions and Methods: Functions are reusable blocks of code designed to perform a specific task. When a function is associated with an object, it's often referred to as a method.
Data Structures: These are ways to organize and store data efficiently, such as arrays, lists, and dictionaries. The choice of data structure can significantly impact a program's performance.
3. Popular Programming Languages:

The landscape of programming languages is diverse, with each language serving different needs:

Python: Renowned for its simplicity and readability, Python is a favorite among beginners and experts alike. It's used in web development, data analysis, artificial intelligence, and more.
JavaScript: The lifeblood of the web, JavaScript is essential for creating dynamic and interactive web pages. It's part of the core technologies of the World Wide Web, alongside HTML and CSS.
Java: Known for its "write once, run anywhere" philosophy, Java is widely used for building enterprise-scale applications, Android apps, and web applications.
C and C++: These languages offer fine-grained control over system resources, making them ideal for system/software development and game programming.
Ruby: With its elegant syntax, Ruby, and particularly its framework Ruby on Rails, is a popular choice for web development.
4. Programming Paradigms:

Programming paradigms are the approaches or styles of programming, dictating how tasks are structured and solved:

Procedural Programming: A linear approach where the program is divided into a set of functions or procedures. C is a classic example of a procedural language.
Object-Oriented Programming (OOP): This paradigm organizes code into objects containing data and methods. Languages like Java and Python support OOP, promoting modularity and reusability.
Functional Programming: Emphasizes the use of functions and immutable data. Haskell and Scala are known for their functional programming capabilities, offering a different approach to problem-solving and state management.
5. Development Environments and Tools:

Programming is supported by a rich ecosystem of development environments and tools designed to enhance productivity and collaboration:

Integrated Development Environments (IDEs): Software applications like Visual Studio Code, PyCharm, and Eclipse provide a comprehensive environment for coding, debugging, and testing.
Version Control Systems: Tools like Git help manage changes to code, facilitating teamwork and contributing to open-source projects.
Build Tools and Package Managers: These automate the process of compiling code and managing dependencies. Examples include Maven for Java and npm for JavaScript.
6. Practical Applications:

Programming's real-world applications are vast and varied, impacting nearly every aspect of modern life:

Web Development: Creating websites and web applications, from the front-end user interface to back-end server logic.
Mobile Applications: Developing apps for iOS and Android, catering to the ever-growing mobile user base.
Data Science and Machine Learning: Analyzing data sets to derive insights and predictions, powered by programming languages like Python and R.
Game Development: Crafting immersive gaming experiences, utilizing languages like C++ and specialized engines like Unity.
7. The Future of Programming:

As technology evolves, so too does programming. Emerging trends like quantum computing and artificial intelligence are pushing the boundaries of what's possible, requiring new languages and paradigms. Meanwhile, the push for more intuitive programming interfaces and the rise of no-code/low-code platforms suggest a future where programming is more accessible than ever.

Conclusion:

Programming is a dynamic field, constantly evolving in response to new challenges and technologies. Its history is a testament to human creativity, its concepts form the foundation of digital innovation, and its applications shape the world we live in. Whether you're embarking on a career in tech or simply seeking to understand the digital world better, learning to program is a valuable and rewarding endeavor.

As we look to the future, one thing is clear: programming will continue to be at the heart of technological advancement, driving progress and opening up new horizons. So why not start your programming journey today? The possibilities are endless, and the world of programming is waiting for you.

また、回答速度については、以下の結果になりました。

  • Groq(Mixtral8×7B):2秒
  • ChatGPT(GPT-4):87秒
2倍速

なお、オフラインで高速出力できるAIチャットボットについて詳しく知りたい方は、下記の記事を合わせてご確認ください。
【Chat with RTX】NVIDIA版ChatGPTが無料公開!高速出力かつオフラインで使えるAIチャットボット

Groqで高速なテキスト生成を実現しよう

Groqは、Web上で動作できるテキスト生成AIで、ChatGPTの有料版に比べて25倍も速いです。

とはいえ、品質はChatGPTの方が良いという意見もあるので、きっちりと利用用途を考える必要があると思いました。例えば、以下のようなユースケースが考えられるかと思います。

  • 速さや省エネを優先する場合:Groq
  • 品質を優先する場合:GPT-4など

検証結果を見ても、ほとんどのタスクにおいてGroqでは、4秒以内に完了していました。回答速度に関しては、圧倒していると言えるでしょう。しかし、精度面を見ると、やはりGPT-4の方が圧倒しているように思えます。

タスクチャットボット精度回答速度
画像認識の深層学習モデルの構築Groqエラーが発生4秒
ChatGPT62%の精度のモデルが構築できた100秒
日本語のビジネスメール作成Groq日本語で出力できなかった1秒
ChatGPT自然な日本語で、ある程度使えるメール文を出力できた59秒
2000文字程度のブログ作成Groqある程度質の高いブログができた2秒
ChatGPTある程度質の高いブログができた87秒

ちなみに、あるXユーザーによると、使いどころが限られているが、「LLMで大量の処理をしたい」「GPUに空きがない」という場合に、役に立つかもしれないです。

最後に

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

弊社では

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

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

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

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

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

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

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

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

投稿者

  • 中田

    データサイエンス専攻の大学院生。大学では、生成系AIの拡散モデルを用いた音楽生成について研究。 趣味は作曲、サッカー、コーヒー。

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