您当前的位置:首页 > 电脑百科 > 人工智能

指南来了!微调GPT3.5,定制大模型!

时间:2023-09-05 11:23:00  来源:51CTO  作者:

作者 | 崔皓

通用模型虽好,但微调训练得到一个自己的专属大模型更能让技术人心动。最近,GPT-3.5 Turbo最近推出了一项全新的微调功能,该功能允许开发者和企业精准定制模型,以满足特定应用场景的需求。

微调GPT,不仅可以提高模型的可操控性、输出格式的可靠性和语气的一致性,还使企业能够缩短提示长度,从而加速API调用并降低成本。

本文就带领诸位见证微调大模型的魅力,了解GPT-3.5 Turbo,并实现一个关于天气的调优模型。

1、GPT-3.5 Turbo微调功能好在哪里

GPT-3.5 Turbo,一款业界领先的大型语言模型,最近推出了一项令人振奋的微调功能。该功能允许开发者和企业能够根据特定用例定制模型,从而实现更高的性能和更佳的用户体验。

首先,微调已经显著提高了模型的“可操控性”。模型现在可以更准确地按照用户的指示进行操作,无论是生成更简洁的输出,还是针对特定语言进行响应。

其次,微调还可以改善模型的输出格式。开发者可以将用户的输入转换为高质量的JSON片段,从而完成与其他系统的集成。

此外,微调还增强了模型输出的“语气”,使其更符合企业的调性,从而增加企业品牌的识别度和一致性。

2、微调的成本和定价

在介绍GPT-3.5 Turbo版本的微调之前,我先跟大家说下安全和定价问题。

微调是一个复杂但重要的过程。确保安全性是首要任务。据AI target=_blank class=infotextkey>OpenAI官方解释,训练数据会通过审核API和GPT-4审核系统进行筛选,确保符合安全标准。

成本方面,微调分为训练和使用两个环节。训练成本按令牌数量计算,每1000个令牌的价格为$0.008。使用成本也按令牌计算,输入和输出分别是每1000个令牌$0.012和$0.016。

以100,000个令牌和3个训练周期为例,预计微调成本为$2.40。这一点对于预算有限的开发者或企业来说,提供了明确的费用预测。

总体而言,微调提供了性能和安全性的平衡,同时给出了明确的成本结构。这些因素都是在进行模型微调时需要考虑的关键要素。

3、为什么微调GPT3.5更划算

模型微调的目的是为了增加性能和效率。微调现在能够生成比提示更高质量的结果,并且能够在提示中容纳更多的示例,从而提高了所谓的“少量样本学习”的效果。

一旦模型经过微调,提示可以更短,从而节省令牌和成本。这也意味着请求将具有更低的延迟,从而提供更快的响应。

微调涉及几个关键步骤,包括准备和上传训练数据,训练新的微调模型,以及模型的实际使用。具体的定价信息已在OpenAI的定价页面上公布。

目前,推荐使用的微调模型是gpt-3.5-turbo-0613,但也支持其他模型如babbage-002和davinci-002。OpenAI预计今年晚些时候将为GPT-4启用微调功能。

4、何时进行微调

虽然GPT模型进行微调确实能够提高其在特定任务上的性能,但这并不应是首选方案。在微调之前,开发者可以先尝试通过提示工程、提示链接和函数调用来优化模型性能。与微调相比,这些策略具有更快的反馈循环,允许开发者在不创建数据集和运行训练作业的情况下迅速迭代和改进。事实上,许多初步表现不佳的任务可以通过更精确的提示而得到改善,从而避免了微调的需要。

即使在微调成为必要的情况下,早期的提示工程工作也不会浪费。实际上,最佳的微调效果通常可在使用了良好提示的数据中观察到。就是使用更加廉价,高效的方式来优化模型,在效果不佳的情况下再考虑对模型进行微调,毕竟微调需要付出更高的时间和资金成本。

微调主要用于改善模型在风格、语调、格式和特定任务方面的性能。同时,它也能有效地降低成本和延迟,特别是当从GPT-4迁移到gpt-3.5-turbo时。

废话不多说,我们开始微调GPT-3.5 Trubo模型。

5、准备数据集

我们想把GPT-3.5 Turbo模型调优成一个天气预报员,不过这个预报员会通过说冷笑话的方式来预报天气。第一步,我们需要准备一些数据集。

数据集中的每个示例都需要与Chat completions API相同格式的对话,具体来说,每条消息都有角色、内容和可选名称。

下面是官方提供的样例:

复制

{"messages": [{"role": "system", "content": "Marv is a factual chatbot that is also sarcastic."}, {"role": "user", "content": "What's the capital of France?"}, {"role": "assistant", "content": "Paris, as if everyone doesn't know that already."}]}

{"messages": [{"role": "system", "content": "Marv is a factual chatbot that is also sarcastic."}, {"role": "user", "content": "Who wrote 'Romeo and Juliet'?"}, {"role": "assistant", "content": "Oh, just some guy named William Shakespeare. Ever heard of him?"}]}

{"messages": [{"role": "system", "content": "Marv is a factual chatbot that is also sarcastic."}, {"role": "user", "content": "How far is the Moon from Earth?"}, {"role": "assistant", "content": "Around 384,400 kilometers. Give or take a few, like that really matters."}]}

JSON对象是用于微调GPT模型的训练数据示例。每个JSON对象代表一个对话实例,由三个部分组成:

(1)系统消息(System Message):定义了聊天机器人(在这里是名为“Marv”的机器人)的基本特性。在这个例子中,系统消息标明Marv是一个提供准确信息但也具有讽刺性的聊天机器人。

(2)用户消息(User Message):这是用户向聊天机器人提出的问题或命令。

(3)助理消息(Assistant Message):这是聊天机器人对用户消息的响应。在这个例子中,由于Marv是一个讽刺性的聊天机器人,所以它的回应是准确但带有讽刺色彩的。

具体地,每条消息都有两个字段:

role:指定消息的发送者角色,可以是system、user或assistant。

content:包含消息内容的字段。

要微调模型,需要至少提供10个示例。如果能够准备50到100个训练示例,对gpt-3.5-turbo进行微调会有明显的改善。官方建议可以准备50个示例进行微调,在观察微调结果后再寻求改善。需要说明的是,每个训练示例限制为4096个令牌。超过此长度的示例将在训练时截断为前4096个令牌。为确保整个训练示例适合上下文,请考虑检查消息内容中的总令牌计数是否低于4000。每个文件目前限制为50 MB。

为了估算微调作业的成本,可以使用以下公式:对于训练了3周期的100,000个令牌的训练文件,预计成本将为~$2.40。

在清楚上面的情况以后,我们来创建自己的数据集合。我们想让GPT-3.5 Turbo成为一个会讲笑话的天气助理。并且通过不同的问答的方式,告诉它如何“幽默”地回答人类关于天气的问题。

复制

{"messages": [{"role": "system", "content": "你是一个会讲笑话的天气助理。"}, {"role": "user", "content": "今天北京的天气怎么样?"}, {"role": "assistant", "content": "今天北京的天气晴朗,就像我的心情一样明朗!"}]}

{"messages": [{"role": "system", "content": "你是一个会讲笑话的天气助理。"}, {"role": "user", "content": "上海明天会下雨吗?"}, {"role": "assistant", "content": "上海明天不会下雨,但我的幽默感可能会淋湿你!"}]}

{"messages": [{"role": "system", "content": "你是一个会讲笑话的天气助理。"}, {"role": "user", "content": "广州的湿度怎么样?"}, {"role": "assistant", "content": "广州的湿度很高,就像我的幽默感一样无处不在!"}]}

{"messages": [{"role": "system", "content": "你是一个会讲笑话的天气助理。"}, {"role": "user", "content": "成都的温度是多少?"}, {"role": "assistant", "content": "成都的温度适中,就像一杯刚刚好的茶!"}]}

{"messages": [{"role": "system", "content": "你是一个会讲笑话的天气助理。"}, {"role": "user", "content": "杭州周末会晴天吗?"}, {"role": "assistant", "content": "杭州周末会是晴天,完美的野餐天气!别忘了带上笑容。"}]}

{"messages": [{"role": "system", "content": "你是一个会讲笑话的天气助理。"}, {"role": "user", "content": "深圳冬天冷吗?"}, {"role": "assistant", "content": "深圳的冬天不冷,但我的冷笑话可能会让你打寒颤!"}]}

{"messages": [{"role": "system", "content": "你是一个会讲笑话的天气助理。"}, {"role": "user", "content": "武汉夏天热吗?"}, {"role": "assistant", "content": "武汉的夏天非常热,就像我的幽默感一样火辣!"}]}

{"messages": [{"role": "system", "content": "你是一个会讲笑话的天气助理。"}, {"role": "user", "content": "西安有沙尘暴吗?"}, {"role": "assistant", "content": "西安偶尔有沙尘暴,但不要担心,我的笑话会吹走沙尘!"}]}

{"messages": [{"role": "system", "content": "你是一个会讲笑话的天气助理。"}, {"role": "user", "content": "重庆的天气如何?"}, {"role": "assistant", "content": "重庆的天气多变,就像我的幽默感一样难以捉摸!"}]}

{"messages": [{"role": "system", "content": "你是一个会讲笑话的天气助理。"}, {"role": "user", "content": "南京的春天怎么样?"}, {"role": "assistant", "content": "南京的春天温暖宜人,就像一首美丽的诗歌!"}]}

6、检查数据格式

前面我们创建了数据集合,虽然有一些需要注意的地方,但是整个过程还是比较方便的。如果你的训练集合比较大,要处理的数据比较多,就需要谨慎一些,毕竟每次调优都是在花真金白银的。因此,如果数据量比较大的话,我建议对数据格式进行检查。这里创建了一个简单的Python/ target=_blank class=infotextkey>Python脚本,您可以使用它来查找潜在错误、查看令牌计数并估算微调作业的成本。这个检查并非必选项,各位可以酌情选择。

如下代码首先加载一个包含聊天消息的数据集,并对其进行初步检查。然后,它遍历数据集,检查每个示例的格式是否正确,并记录任何格式错误。最后,它使用TikToken库来计算数据集中的令牌数量,并打印一些统计信息,例如示例数量、消息数量、对话长度和助理消息长度的分布。此外,它还计算了训练的预计成本和时期数量。

复制

# 导入必要的包

import json

import os

import tiktoken

import numpy as np

from collections import defaultdict

# 指定数据路径

data_path = "<YOUR_JSON_FILE_HERE>"

# 通过读取文件中的每一行并解析为JSON对象来加载数据集

with open(data_path) as f:

dataset = [json.loads(line) for line in f]

# 打印数据集的统计信息,例如示例数量和第一个示例

print("Num examples:", len(dataset))

print("First example:")

for message in dataset[0]["messages"]:

print(message)

# 初始化格式错误计数器

format_errors = defaultdict(int)

# 遍历数据集,检查每个示例的格式

for ex in dataset:

# 检查示例是否为字典

if not isinstance(ex, dict):

format_errors["data_type"] += 1

continue

# 获取消息列表

messages = ex.get("messages", None)

# 检查消息列表是否存在

if not messages:

format_errors["missing_messages_list"] += 1

continue

# 遍历消息,检查格式

for message in messages:

# 检查消息是否包含“role”和“content”键

if "role" not in message or "content" not in message:

format_errors["message_missing_key"] += 1

# 检查消息是否包含未识别的键

if any(k not in ("role", "content", "name") for k in message):

format_errors["message_unrecognized_key"] += 1

# 检查角色是否被识别

if message.get("role", None) not in ("system", "user", "assistant"):

format_errors["unrecognized_role"] += 1

# 检查内容是否存在且为字符串

content = message.get("content", None)

if not content or not isinstance(content, str):

format_errors["missing_content"] += 1

# 检查示例中是否缺少助理消息

if not any(message.get("role", None) == "assistant" for message in messages):

format_errors["example_missing_assistant_message"] += 1

# 打印找到的错误

if format_errors:

print("Found errors:")

for k, v in format_errors.items():

print(f"{k}: {v}")

else:

print("No errors found")

# 使用tiktoken库来获取编码

encoding = tiktoken.get_encoding("cl100k_base")

# 定义计算消息中令牌数量的函数

def num_tokens_from_messages(messages, tokens_per_message=3, tokens_per_name=1):

num_tokens = 0

for message in messages:

num_tokens += tokens_per_message

for key, value in message.items():

num_tokens += len(encoding.encode(value))

if key == "name":

num_tokens += tokens_per_name

num_tokens += 3

return num_tokens

# 定义计算助理消息中令牌数量的函数

def num_assistant_tokens_from_messages(messages):

num_tokens = 0

for message in messages:

if message["role"] == "assistant":

num_tokens += len(encoding.encode(message["content"]))

return num_tokens

# 定义打印值分布的函数

def print_distribution(values, name):

print(f"n#### Distribution of {name}:")

print(f"min / max: {min(values)}, {max(values)}")

print(f"mean / median: {np.mean(values)}, {np.median(values)}")

print(f"p5 / p95: {np.quantile(values, 0.1)}, {np.quantile(values, 0.9)}")

# 初始化警告和令牌计数

n_missing_system = 0

n_missing_user = 0

n_messages = []

convo_lens = []

assistant_message_lens = []

# 遍历数据集,计算警告和令牌计数

for ex in dataset:

messages = ex["messages"]

if not any(message["role"] == "system" for message in messages):

n_missing_system += 1

if not any(message["role"] == "user" for message in messages):

n_missing_user += 1

n_messages.Append(len(messages))

convo_lens.append(num_tokens_from_messages(messages))

assistant_message_lens.append(num_assistant_tokens_from_messages(messages))

# 打印缺少的系统和用户消息数量,以及消息、对话和助理消息的长度分布

print("Num examples missing system message:", n_missing_system)

print("Num examples missing user message:", n_missing_user)

print_distribution(n_messages, "num_messages_per_example")

print_distribution(convo_lens, "num_total_tokens_per_example")

print_distribution(assistant_message_lens, "num_assistant_tokens_per_example")

n_too_long = sum(l > 4096 for l in convo_lens)

print(f"n{n_too_long} examples may be over the 4096 token limit, they will be truncated during fine-tuning")

# 定义最大令牌数量和目标示例数量

MAX_TOKENS_PER_EXAMPLE = 4096

MIN_TARGET_EXAMPLES = 100

MAX_TARGET_EXAMPLES = 25000

TARGET_EPOCHS = 3

MIN_EPOCHS = 1

MAX_EPOCHS = 25

# 计算时期数量

n_epochs = TARGET_EPOCHS

n_train_examples = len(dataset)

if n_train_examples * TARGET_EPOCHS < MIN_TARGET_EXAMPLES:

n_epochs = min(MAX_EPOCHS, MIN_TARGET_EXAMPLES // n_train_examples)

elif n_train_examples * TARGET_EPOCHS > MAX_TARGET_EXAMPLES:

n_epochs = max(MIN_EPOCHS, MAX_TARGET_EXAMPLES // n_train_examples)

# 计算数据集中的计费令牌数量

n_billing_tokens_in_dataset = sum(min(MAX_TOKENS_PER_EXAMPLE, length) for length in convo_lens)

print(f"Dataset has ~{n_billing_tokens_in_dataset} tokens that will be charged for during training")

print(f"By default, you'll train for {n_epochs} epochs on this dataset")

print(f"By default, you'll be charged for ~{n_epochs * n_billing_tokens_in_dataset} tokens")

print("See pricing page to estimate total costs")

开始调优

数据集建立好了, 并且也对它进行了检查。接下来就开始调优了。

上传数据集

将数据集保存到 "gpt-3.5-turbo-ft-file.jsonl"文件中。执行如下代码:

import openai

openai.File.create(

file=open("gpt-3.5-turbo-ft-file.jsonl", "rb"),

purpose='fine-tune'

import openai:这行代码导入了 OpenAI 的 Python 库,以便使用其 API 功能。

openai.File.create(...): 这个函数用于在 OpenAI 服务器上创建一个新的文件。可以对上传文件做后续处理或操作(在这种情况下,是为了微调模型)。

file=open("gpt-3.5-turbo-ft-file.jsonl", "rb"): 这里,file 参数指定了要上传的文件。函数 open("gpt-3.5-turbo-ft-file.jsonl", "rb") 打开了一个名为 gpt-3.5-turbo-ft-file.jsonl 的文件,以二进制读取模式("rb")。

purpose='fine-tune':这个 purpose 参数标记了文件上传的目的。在这里,目的是“微调”(fine-tune)模型。

执行上述代码之后得到如下结果:

复制

<File file id=file-F8Gh75F2A5R0gWlq5KADZdZG at 0x78f25bdc1df0> JSON: {

"object": "file",

"id": "file-F8Gh75F2A5R0gWlq5KADZdZG",

"purpose": "fine-tune",

"filename": "file",

"bytes": 2545,

"created_at": 1692886089,

"status": "uploaded",

"status_details": null }

我们来逐一解释一下返回的结果。

"object": "file":指示这个 JSON 对象代表一个“文件”。

"id": "file-F8Gh75F2A5R0gWlq5KADZdZG": 这是文件的唯一标识符(ID)。在后续的调优中用到它,也就是针对这个上传文件进行调优。

"purpose": "fine-tune": 这表示文件的用途是用于微调模型,这与你在 openai.File.create() 函数中设置的 purpose='fine-tune' 是一致的。

"filename": "file": 这是上传文件的名称。在这个例子中,它被简单地命名为 "file"。

"bytes": 2545": 这表示文件的大小是 2545 字节。

"created_at": 1692886089":这是文件创建(或上传)时间的 Unix 时间戳。

"status": "uploaded": 这表示文件的当前状态是“已上传”。

"status_details": null:这里提供了关于文件状态的额外细节。在这个例子中,没有提供额外的状态细节(null)。

7、进行调优

好了,文件上传之后接着执行调优的代码如下:

复制

openai.F.NETuningJob.create(training_file="file-F8Gh75F2A5R0gWlq5KADZdZG", model="gpt-3.5-turbo")

代码比较简单,看上去也比较好理解:

training_file="file-F8Gh75F2A5R0gWlq5KADZdZG": training_file参数指定了用于微调的训练数据文件的 ID。这个 ID 应该是你之前上传文件时获得的。

model="gpt-3.5-turbo": model 参数指定了你想微调的模型版本。在这个例子中,选择的是 GPT-3.5 Turbo。

8、查看调优进度

调优并不是一蹴而就的,整个过程会有OpenAI服务器完成,因此需要等待一段时间。在这段时间里面,我们会通过代码检查调优的状态和进度。

复制

# List 10 fine-tuning jobs

openai.FineTuningJob.list(limit=10)

# Retrieve the state of a fine-tune

response = openai.FineTuningJob.retrieve("ftjob-OJAXmjzlYT0TKbrHA9p2TWro")

print(response)

# Cancel a job

#openai.FineTuningJob.cancel("ft-abc123")

# List up to 10 events from a fine-tuning job

#openai.FineTuningJob.list_events(id="ft-abc123", limit=10)

# Delete a fine-tuned model (must be an owner of the org the model was created in)

#import openai

#openai.Model.delete("ft-abc123"

一起来看看上面的代码做了什么,注释掉的部分虽然在本例中没有用到,但是在一些场景会使用,因此一并放了进来:

(1)查看微调作业列表:`openai.FineTuningJob.list(limit=10)`**: 这一行列出了最近的 10 个微调作业。`limit=10` 表示最多列出 10 个作业。这对于跟踪多个微调任务或查看历史作业非常有用。

(2)获取微调作业的状态:`response = openai.FineTuningJob.retrieve("ftjob-OJAXmjzlYT0TKbrHA9p2TWro")`**: 这一行通过微调作业的唯一 ID(在这里是 `"ftjob-OJAXmjzlYT0TKbrHA9p2TWro"`)来检索特定微调作业的状态和信息。

(3)取消微调作业(注释掉了):`#openai.FineTuningJob.cancel("ft-abc123")`**:可以用来取消一个指定 ID 的微调作业。在这里,作业 ID 是 `"ft-abc123"`。

(4)列出微调作业的事件(注释掉了):`#openai.FineTuningJob.list_events(id="ft-abc123", limit=10)`**:用于列出一个特定微调作业的最多 10 个事件。这些事件可能包括作业开始、进度更新或作业完成等。

(5)删除微调模型(注释掉了):`#openai.Model.delete("ft-abc123")`**:用于删除一个已经微调过的模型。注意,只有模型所属组织的所有者才能删除它。

运行上面代码就可以看到详细的调优过程了,如下:

复制

{

"object": "fine_tuning.job",

"id": "ftjob-OJAXmjzlYT0TKbrHA9p2TWro",

"model": "gpt-3.5-turbo-0613",

"created_at": 1692886101,

"finished_at": 1692886492,

"fine_tuned_model": "ft:gpt-3.5-turbo-0613:personal::7r5OjUmx",

"organization_id": "org-4P7htKo6DejPTQxfu3rExc7D",

"result_files": [

"file-9mLgEz2wKpHGoKtkZ0I3O8Yk"

],

"status": "succeeded",

"validation_file": null,

"training_file": "file-F8Gh75F2A5R0gWlq5KADZdZG",

"hyperparameters": {

"n_epochs": 10

},

"trained_tokens": 6810

}

虽然返回的信息很多,但是还是要耐心对其进行分析。把几个重点字段列出如下:

"object": "fine_tuning.job"`**: 指定这个 JSON 对象代表一个微调作业。

`"id": "ftjob-OJAXmjzlYT0TKbrHA9p2TWro"`**: 微调作业的唯一标识符。

`"model": "gpt-3.5-turbo-0613"`**: 表示用于微调的基础模型。

`"created_at": 1692886101"`**: 作业创建时间的 Unix 时间戳。

`"finished_at": 1692886492"`**: 作业完成时间的 Unix 时间戳。

`"fine_tuned_model": "ft:gpt-3.5-turbo-0613:personal::7r5OjUmx"`**: 微调后生成的模型的唯一标识符。

`"result_files": ["file-9mLgEz2wKpHGoKtkZ0I3O8Yk"]`**: 包含微调结果的文件的 ID。

`"status": "succeeded"`**: 微调作业的状态,这里是“成功”。

`"training_file": "file-F8Gh75F2A5R0gWlq5KADZdZG"`**: 用于训练的文件 ID。

`"hyperparameters": {"n_epochs": 10}`**: 微调作业使用的超参数,这里只设置了训练周期(`n_epochs`)为 10。

`"trained_tokens": 6810"`**: 在微调过程中训练的令牌(tokens)数量。

9、测试微调之后的模型

执行如下代码,让我们问问微调之后的GPT-3.5 Turbo天气的问题。

复制

fine_tuned_model_id = response["fine_tuned_model"]

completion = openai.ChatCompletion.create(

model=fine_tuned_model_id, # 请确保使用您微调后的模型ID

temperature=0.7,

max_tokens=500,

messages=[

{"role": "system", "content": "你是一个会讲笑话的天气助理。"},

{"role": "user", "content": "今年武汉的冬天冷不冷?"}

]

print(completion.choices[0].message['content'])

fine_tuned_model_id = response["fine_tuned_model"]: 从之前获取的微调作业响应(response)中提取出微调后的模型 ID,并存储在 fine_tuned_model_id 变量中。

completion = openai.ChatCompletion.create(...): 调用 OpenAI 的 ChatCompletion.create 方法来生成聊天回应。

model=fine_tuned_model_id: 指定使用微调后的模型 ID。这确保了生成的回应基于你的微调模型。

微调之后的GPT-3.5 Turbo说出的冷笑话,不知道是不是够冷?

10、总结

GPT-3.5 Turbo 的微调功能为开发者和企业提供了一种有效的方式,以定制大语言模型以适应特定的应用需求。通过微调,模型在执行任务时不仅更可操控、输出更可靠,而且可以更准确地反映企业的品牌语气。此外,微调还有助于减少API调用的时间和成本。

本文深入解析了这一全新功能,涵盖了从安全性和成本到准备和验证数据集的全方位内容。文章还通过代码示例详细演示了如何进行模型微调,从上传数据集到测试微调结果,提供了一条明确的操作路径。总的来说,微调作为一个强大的工具,极大地扩展了GPT-3.5 Turbo 在各种应用场景中的可能性。

作者介绍:崔皓,51CTO社区编辑,资深架构师,拥有18年的软件开发和架构经验,10年分布式架构经验。



Tags:大模型   点击:()  评论:()
声明:本站部分内容及图片来自互联网,转载是出于传递更多信息之目的,内容观点仅代表作者本人,不构成投资建议。投资者据此操作,风险自担。如有任何标注错误或版权侵犯请与我们联系,我们将及时更正、删除。
▌相关推荐
AI是万灵药?Meta要把大模型塞进AR眼镜里
寻找下一块“屏幕”,这无疑是最近几年科技行业的一个热门赛道。随着个人计算机点燃了互联网,智能手机让移动互联网无处不在之后,这前后两次造富神话的出现,也让所有人都在期待下...【详细内容】
2024-04-09  Search: 大模型  点击:(2)  评论:(0)  加入收藏
AI程序员上岗 垂类大模型应用迎来井喷期
能自动写代码的“AI员工”、逐渐告别不够好用的智能客服,无需费时费力开发的工业AI控制器&hellip;&hellip;随着人工智能大模型能力开始深入多个行业,IT、工业生产、金融、服务...【详细内容】
2024-04-07  Search: 大模型  点击:(3)  评论:(0)  加入收藏
AI干掉声优?音频大模型追逐“图灵时刻”
七十年前,“人工智能之父”图灵提出,如果人无法判断屏幕的另一侧究竟是人还是机器,就证明机器具备了人一样的智能。这一经典的图灵测试如同北斗星一般,指引着AI行业的工作者们不...【详细内容】
2024-04-03  Search: 大模型  点击:(5)  评论:(0)  加入收藏
大模型Kimi火了,长文本“卷”出新高度
近日,AI智能助手Kimi宣布支持200万字无损上下文,在长上下文窗口技术上再次取得突破,引燃人工智能领域新一轮投资热情。  摄影/宁颖OpenAI官方去年11月发布的GPT-4 Turbo,支持1...【详细内容】
2024-03-29  Search: 大模型  点击:(13)  评论:(0)  加入收藏
大模型应用的 10 种架构模式
作者 | 曹洪伟在塑造新领域的过程中,我们往往依赖于一些经过实践验证的策略、方法和模式。这种观念对于软件工程领域的专业人士来说,已经司空见惯,设计模式已成为程序员们的重...【详细内容】
2024-03-27  Search: 大模型  点击:(13)  评论:(0)  加入收藏
超长文本是AI大模型的能力突破口吗?
◎记者 刘怡鹤近日,能“一口气读完20万字小说”的AI大模型应用Kimi再次为国内AI产业添了一把火。业内认为,国产大模型能力提升或成今年国内AI领域最核心的主线。超长上下文是...【详细内容】
2024-03-26  Search: 大模型  点击:(8)  评论:(0)  加入收藏
百度AI“咬”了一口苹果 大模型商用有戏了?
百度3月25日突传利好。据知情人士透露,百度将为苹果今年发布的iPhone16、Mac系统和ios18提供AI功能。消息人士称,苹果曾与阿里以及另外一家国产大模型公司进行过洽谈,最后确定...【详细内容】
2024-03-26  Search: 大模型  点击:(18)  评论:(0)  加入收藏
Kimi引燃大模型“长文本竞赛”,阿里360百度急出手
从ChapGPT到Sora,从数千亿参数到千万长文本,大模型浪潮下,永远不缺热点。近日,“Kimi概念股暴涨”“Kimi为宕机道歉”等词条先后冲上微博热搜,让月之暗面这家刚成立一年的人工智...【详细内容】
2024-03-25  Search: 大模型  点击:(15)  评论:(0)  加入收藏
Kimi爆了 国产大模型应用元年还远吗?
国产大模型应用Kimi近日可谓横空出世。根据Similarweb数据,Kimi智能助手的周度访问量由23年12月初的15万提升至近期(3.10-3.16)的超过200万,APP端下载量也快速提升,从2月初的效率...【详细内容】
2024-03-22  Search: 大模型  点击:(14)  评论:(0)  加入收藏
国产大模型开卷“比谁长”?Kimi爆火点燃长文本竞争赛道
来源:财联社近日,又一现象级AI应用Kimi爆火出圈,在用户端和资本市场都掀起波澜,引发多个Kimi相关概念股异常波动。海天瑞声(688787.SH)、中广天择(603721.SH)等上市公司纷纷回应“无...【详细内容】
2024-03-22  Search: 大模型  点击:(5)  评论:(0)  加入收藏
▌简易百科推荐
藏在AI背后的“吃电狂魔”
人工智能时代的能耗黑洞据估算,到2027年,人工智能行业每年将消耗85~134太瓦时的电力,相当于瑞典或荷兰一年的总用电量。马斯克判断,电力缺口最早可能会在2025年发生,“明年你会看...【详细内容】
2024-04-09    雪豹财经社  Tags:AI   点击:(1)  评论:(0)  加入收藏
OpenAI和谷歌再起纷争:AI的尽头是内容
日前,纽约时报的一篇报道称,人工智能公司 OpenAI为收集高质量训练数据而开发了一个语音转录模型Whisper。该模型主要用于转录 OpenAI 获取的超过 100 万小时的 YouTube 视频,也...【详细内容】
2024-04-09  小编也疯狂  新浪网  Tags:AI   点击:(1)  评论:(0)  加入收藏
AI产业的灰色暗面:OpenAI、谷歌、META如何搞训练语料
财联社4月7日讯(编辑 史正丞)种种迹象显示,目前站在全世界AI领域潮头浪尖的这些公司,早在几年前就已经陷入对训练语料的“绝望”追逐中&mdash;&mdash;为此他们不惜修改政策条款...【详细内容】
2024-04-09    财联社  Tags:AI产业   点击:(1)  评论:(0)  加入收藏
和“数字人”交朋友,当心隐私被出卖......
在虚拟社交中如何在保护用户隐私和数据安全的同时提供高质量的社交体验?如何避免过度依赖虚拟社交找到虚拟与真实之间的平衡点?《中国消费者报》记者就此展开了调查APP里有个...【详细内容】
2024-04-09    中国消费者报  Tags:数字人   点击:(2)  评论:(0)  加入收藏
AI“复活”成产业链:成本可降至数百元
大模型应用落地,带火数字人(11.560, 0.29, 2.57%)赛道。文|《中国企业家》记者李艳艳 实习生 孙欣编辑|姚赟头图来源|《流浪地球2》电影画面截图清明节前,预估会有需求的庞立...【详细内容】
2024-04-09    中国企业家  Tags:AI“复活”   点击:(2)  评论:(0)  加入收藏
多方热议人工智能产业新机遇
编者按&emsp;&emsp;从前沿科技展会到高层对话平台,从上海、重庆到博鳌,从线上到线下&hellip;&hellip;一场场高规格、大规模的盛会中,人工智能正在成为各界热议的高频词。赋能千...【详细内容】
2024-04-08    中国家电网  Tags:人工智能   点击:(4)  评论:(0)  加入收藏
​人形机器人时代来了吗
日前,由中国人形机器人(11.080, -0.05, -0.45%)百人会主办的人形机器人大赛在北京经济技术开发区开赛。工作人员向参观者展示一款人形机器人。参观者与一款陪护型人形机器人...【详细内容】
2024-04-08    中国青年报  Tags:​人形机器人   点击:(5)  评论:(0)  加入收藏
AI重塑社交:腾讯与字节跳动的新赛场
文|新火种 一号编辑|美美最近,腾讯和字节跳动这两大互联网巨头几乎同步推出了各自的AI社交产品,尽管腾讯和字节跳动在前段时间刚刚“破冰”,但这一举措不仅意味着这两大巨头之...【详细内容】
2024-04-07    蓝鲸财经  Tags:AI   点击:(8)  评论:(0)  加入收藏
第一批用 Kimi 做内容的网红已经杀疯了
作者:王东东 文章来自:斗战圣佛小组技术信仰派 VS 市场信仰派 朱啸虎和月之暗面老板杨植麟在前几天有一场不算 battle 的 battle。battle 的争论点是:大模型有没有戏。技术派...【详细内容】
2024-04-04    斗战圣佛小组  Tags:Kimi   点击:(4)  评论:(0)  加入收藏
昆仑万维发布面向人工智能时代的六条人才宣言
过去的一年多,是人工智能取得非凡进步的一年。在这充满突破性技术飞跃和备受争议的一年里,我们见证了人工智能的快速发展和广泛的影响,人工智能已经迅速地融入了我们的生活,深刻...【详细内容】
2024-04-03    砍柴网  Tags:昆仑万维   点击:(7)  评论:(0)  加入收藏
站内最新
站内热门
站内头条