门户网站wordpress哪个比较好,网页制作专业分析,网站数据库迁移,新乡做网站的公司Mistral 7B 是一种设计用来快速处理较长文本的人工智能模型。它采用了一些特别的技术来提高速度和效率#xff0c;比如“分组查询注意力#xff08;grouped-query attention#xff09;”和“滑动窗口注意力#xff08;sliding-window attention#xff09;”。
这些技术…
Mistral 7B 是一种设计用来快速处理较长文本的人工智能模型。它采用了一些特别的技术来提高速度和效率比如“分组查询注意力grouped-query attention”和“滑动窗口注意力sliding-window attention”。
这些技术帮助模型在生成输出时保持较高的质量和速度同时还能处理更多的上下文信息最多 8,000 个单词左右。相较于一些更大的模型Mistral 7B 的运算速度更快内存要求更低也更节省成本而且它是免费提供的使用没有限制。
为了得出 Mistral AI mistral-7b-instruct 模型与 ChatGPT 3.5 或 4 模型之间的成本差异我们进行了以下实验
使用了一个 NVIDIA A100 40GB 的显卡来运行模型这种显卡比较适合处理复杂的 AI 模型。模型运行了 50 个并行请求请求的数量可能会受到硬件配置的影响。在实验中模型处理了大约 1420 万个输入标记和 120 万个输出标记。实验持续了 40 分钟期间处理了大约 1520 万个标记。使用 NVIDIA A100 40GB 的成本大约是每小时 4 美元。
成本计算
我将使用以下数据
Prompt Tokens14,253,584Output Tokens1,190,095每个Input Token的成本ChatGPT 3.5 4K 模型为每 1K tokens 0.0015 美元ChatGPT 4 为每 1K tokens 0.03 美元每个Output Token成本ChatGPT 3.5 4K 模型为每 1K tokens 0.002 美元ChatGPT 4 为每 1K tokens 0.06 美元
GPT 3.5 成本计算
计算 GPT 3.5 的成本 GPT 4成本计算
计算 GPT 4 的成本 Mistral AI 的费用
使用 NVIDIA A100 40GB 显卡来运行 Mistral AI成本约为每小时 4 美元。在 40 分钟内可以处理所有 1520 万个tokens总成本为 2.67 美元。
下图是Mistral AI 与 ChatGPT 的成本比较 观察结果
Mistral AI 比 GPT-4 便宜约 187 倍比 GPT-3.5 模型便宜约 9 倍。通过增加并行处理可以进一步降低 Mistral AI 的成本。通过量化模型我们可以减少 GPU 的利用率从而提高效率。
结论
Mistral AI 是一个非常有前途的替代方案尤其是与 GPT-3.5 相比。它特别适用于需要高吞吐量、更快处理速度且成本较低的场景。Mistral AI 也可以作为一种预筛选工具用于先筛选数据再交给 GPT-4 进行更详细的处理从而进一步降低总成本。
重复实验
下面是示例代码
此代码将使用ThreadPoolExecutor并行处理并行线程数设置为 250但您可以根据需要调整此数字。并行请求数取决于您的机器和 CPU 核心。这是一个示例代码它不会在任何地方保存结果因此您可能需要修改它以满足您的需要
def check_answer(i):try:messages [{role: user,content: You are an assistant},{role: user,content:In the context provided in - Carefully create complete summary from above definitions and context provided in to provide your answer.- Lets think step by step.},{role: user,content: context: context }]chat_completion openai.ChatCompletion.create(modelmistralai/Mistral-7B-Instruct-v0.1,messagesmessages,temperature0,max_tokens4000)except:return Nonereturn chat_completiondef worker(i):try:result check_answer(i)print(fCompleted index {i})except concurrent.futures.TimeoutError:print(fcheck_answer({i}) timed out. Moving on to the next index.)num_processes 250with concurrent.futures.ThreadPoolExecutor(max_workersnum_processes) as executor:futures [executor.submit(worker, i) for i in range(len(temp_result[content]))]concurrent.futures.wait(futures)