当前位置: 首页 > news >正文

用ChatGPT生成IRT数据:当大语言模型遇见心理测量学

1. 项目概述:当经典测量理论遇上生成式AI

在心理测量学、教育评估和问卷设计领域,项目反应理论(Item Response Theory, IRT)一直扮演着核心角色。它超越了经典测量理论,能够基于被试者的潜在特质(如能力、态度)来估计项目参数和被试者参数,为我们提供了更精准、更公平的测量工具。然而,无论是进行新量表的开发、现有量表的优化,还是进行复杂的模拟研究,一个绕不开的难题就是:数据。高质量、符合特定IRT模型假设的模拟数据,是验证算法、比较方法、进行教学演示的基石。

传统上,我们依赖于R语言中的mirtltm等包,通过设定项目参数(如区分度a、难度b、猜测度c)来生成模拟作答数据。这个过程虽然可控,但往往缺乏“现实感”——生成的数据过于“干净”,难以模拟真实世界中被试者可能出现的各种反应模式,如粗心失误、猜测、学习效应或疲劳效应。更重要的是,当我们想探索一些非标准IRT模型,或者想快速生成大量符合特定人群特质分布的数据时,手动编写模拟脚本的灵活性和效率都面临挑战。

最近,我开始思考一个问题:以ChatGPT为代表的大语言模型,其核心能力之一就是根据给定的概率分布生成连贯的文本序列。那么,我们能否将这种“生成”能力,迁移到IRT数据的生成上?具体来说,我们能否通过精心设计的提示工程,让ChatGPT扮演一个“虚拟被试者”,根据我们设定的能力水平(θ)和项目参数,生成符合逻辑的、二值或多值的项目反应数据?这个想法听起来有些跨界,但一旦可行,它将为我们打开一扇新的大门:快速生成带有复杂背景故事的数据集、模拟特定文化或语言群体的反应模式,甚至探索传统模拟方法难以企及的数据生成场景。

本文将深入探讨这一实践。我不会止步于一个简单的概念验证,而是会系统性地评估ChatGPT在IRT数据生成任务上的效能。我们将从最简单的双参数逻辑斯蒂模型(2PLM)开始,逐步扩展到多级评分模型,并设计严格的评估方案,对比其生成数据与经典R包生成数据在项目参数恢复、模型拟合等方面的差异。更重要的是,我会分享一套完整的、可复现的R语言实践流程,包括如何通过API与ChatGPT交互、如何构建有效的提示、如何处理返回结果,以及如何将生成的数据无缝接入mirt包进行分析。在这个过程中,我会详细记录我踩过的每一个坑、发现的每一个技巧,以及最终得出的那些可能让你感到意外的结论。

2. IRT数据生成的传统方法与新思路碰撞

2.1 传统R语言方法的稳健与局限

在R语言的生态中,生成IRT数据已经有一套非常成熟的方法。以最常用的mirt包为例,其simdata函数是许多研究者的首选工具。它的工作原理非常直观:你首先需要定义一个包含项目参数(a, b, c等)的矩阵或数据框,然后指定一个被试者能力(θ)的分布(通常是标准正态分布),最后调用函数即可生成0/1计分的作答矩阵。

# 示例:使用mirt包生成2PLM数据 library(mirt) # 定义10个项目的参数:区分度(a)和难度(b) item_params <- data.frame(a = runif(10, 0.5, 2.5), b = rnorm(10, 0, 1)) # 生成1000名被试的能力值,服从标准正态分布 theta <- rnorm(1000, 0, 1) # 使用simdata函数生成作答数据 simulated_data <- simdata(a = item_params$a, d = -item_params$a * item_params$b, N = 1000, itemtype = ‘2PL‘)

这种方法优点显著:高度可控、完全随机、计算高效。你可以精确控制每一个项目的参数和每一位被试的能力值,生成过程基于严格的数学公式(如逻辑斯蒂函数),结果具有统计上的确定性。这对于方法学比较、蒙特卡洛模拟研究来说是黄金标准。

然而,它的局限性在应对一些更“应用性”或“探索性”的场景时开始显现:

  1. 缺乏项目内容与情境:生成的数据只是0和1的矩阵,完全剥离了项目本身的文字内容、选项顺序、甚至是一点“人情味”。你无法模拟一个被试因为对某个措辞产生误解而错误作答。
  2. 模拟复杂反应模式困难:虽然可以通过混合模型来模拟粗心或猜测,但要模拟一个被试在测试后期因疲劳而表现系统性下滑,或者因为前面某个题目受到启发而后面表现提升,就需要编写相当复杂的自定义生成算法。
  3. 依赖于预设的数学模型:数据的生成严格依赖于你选定的IRT模型(如2PLM, 3PLM, GPCM)。如果你想生成的数据不完全符合任何现有模型,或者你想探索一种新的、尚未被严格数学定义的“反应过程”,传统方法就显得力不从心。

2.2 ChatGPT作为数据生成器的潜力与原理构想

ChatGPT的本质是一个基于海量文本训练的概率生成模型。它通过学习词汇、语法和世界知识之间的复杂关联,能够根据给定的上文(提示),预测并生成最可能的下文。我们将这种能力“嫁接”到IRT数据生成上,核心思路是:将IRT的数学概率,转化为自然语言描述的“任务指令”和“角色设定”,引导ChatGPT做出符合目标概率的反应。

具体来说,我们的“提示工程”需要完成以下转换:

  • 角色扮演:告诉ChatGPT:“你现在是一名正在参加一项能力测试的考生。你的内在能力水平是[某个θ值]。”
  • 任务定义:清晰地说明任务:“你将看到一系列题目。对于每一题,请只输出你的最终答案,用‘1’表示正确,用‘0’表示错误。”
  • 项目信息注入:这是最关键的一步。我们需要将项目的“难度”(b)和“区分度”(a)以ChatGPT能理解的方式编码进去。一种直接的方式是描述题目:“这是一道难度[高/中/低]的题目,它非常擅长区分能力[高/低]的考生。”更精细的做法,甚至可以尝试用一段文字来描述题目的内容,使其内在难度与b参数对应。
  • 概率引导:我们可以直接告知ChatGPT理论上的正确概率。例如:“根据你的能力,这道题你答对的概率大约是70%。”然后要求它“以大约70%的概率回答正确”。大语言模型对于这类概率性指令有一定的理解和执行能力。

这个过程听起来像是让ChatGPT“假装”成一个被试,但其背后的潜力在于,ChatGPT的“知识”和“推理”能力可能为生成的数据注入一些传统方法无法产生的微妙特征。例如,对于一个能力中等的“虚拟被试”,在遇到一道描述冗长、陷阱较多的题目时,ChatGPT可能会模拟出“因阅读疏忽而犯错”的行为,而这种行为模式是单纯的数学概率抽样难以捕获的。

注意:这里存在一个根本性的挑战。ChatGPT是一个确定性的文本生成器(在相同提示和温度参数下,输出通常确定),而IRT数据生成本质是一个随机过程(根据概率P(θ)随机生成0或1)。我们的核心任务,就是通过提示设计和API参数(如temperature)的调节,将确定性系统“改造”成一个可用的、近似随机的数据生成器。这将是整个实践中最具挑战性也最有趣的部分。

3. 构建评估框架:如何科学地比较两种数据源

在开始动手之前,我们必须建立一个严谨的评估框架。我们不能仅仅因为数据是ChatGPT生成的就觉得它“有趣”或“有用”,必须用心理测量学的标准来审视其质量。我们的评估将围绕以下几个核心维度展开:

3.1 评估维度的确立

  1. 参数恢复精度:这是评估的黄金标准。我们用已知的项目参数(a, b)和已知的被试能力(θ),通过ChatGPT生成作答数据。然后,我们将这份生成的数据当作“真实”数据,用mirt包重新估计项目参数和能力参数。最后,计算估计值与真实值之间的差异,如均方根误差(RMSE)、偏差(Bias)和相关系数。我们将与mirt::simdata生成的数据在相同条件下的参数恢复结果进行对比。
  2. 模型-数据拟合:生成的数据是否很好地符合预设的IRT模型?我们可以计算每个项目的拟合统计量,如S-X²统计量,或者观察项目特征曲线(ICC)的预期分数曲线与观察分数曲线的匹配程度。ChatGPT生成的数据可能会引入一些独特的“ misfit ”模式,分析这些模式能揭示其生成机制的偏差。
  3. 数据分布的合理性:检查总分分布、项目通过率、项目-总分相关等描述性统计量。这些指标虽然基础,但能快速发现异常。例如,ChatGPT是否由于对概率指令的误解,产生了过于极端(所有题目都答对或答错)的反应向量?
  4. 随机性的检验:ChatGPT生成的0/1序列是否具有真正的随机性?我们可以进行游程检验、序列相关性检验等,检查其生成的反应是否存在不应有的模式或自相关。
  5. 计算与时间成本:这是一个非常现实的考量。通过API调用ChatGPT生成1000名被试对20个项目的反应,其时间和经济成本,与本地R函数simdata(瞬间完成)相比如何?这决定了该方法的实用边界。

3.2 实验设计:控制变量与对比基线

为了进行公平比较,我们将设计一个控制严格的模拟研究:

  • 固定随机种子:对于传统的R模拟方法,我们固定随机数种子,确保每次生成的“传统数据”是可重复的基线。
  • 生成相同的(θ, a, b)组合:我们预先生成一份包含N个被试能力值(θ)和K个项目参数(a, b)的列表。这份列表将作为“真相”,同时用于驱动mirt::simdata和我们的ChatGPT生成流程。
  • 创建平行的数据生成流程
    • 流程A(传统):将(θ, a, b)输入simdata函数,直接得到作答矩阵Data_A
    • 流程B(ChatGPT):将相同的(θ, a, b)转化为一系列提示(Prompt),通过OpenAI API发送给ChatGPT(例如使用gpt-3.5-turbo模型),收集其返回的“0”或“1”,组装成作答矩阵Data_B
  • 实施盲法分析:在参数恢复和模型拟合阶段,分析者不知道哪份数据来自哪种方法,避免主观偏差。

我们将改变实验条件,以检验方法的稳健性:

  • 条件1:不同样本量(N = 500, 1000, 2000)。
  • 条件2:不同测验长度(K = 10, 20, 40)。
  • 条件3:不同IRT模型(2PLM, 3PLM)。
  • 条件4:不同ChatGPT提示策略(直接告知概率、描述题目难度、结合两者)。

4. R语言实践:从API交互到数据生成的完整流程

4.1 环境准备与核心R包

首先,确保你的R环境已经就绪。你需要以下关键R包:

  • httropenai:用于与OpenAI API进行HTTP通信。openai是一个专门的R包,封装了API调用,更简便。
  • jsonlite:用于处理API请求和响应的JSON数据。
  • mirt:核心的IRT分析与传统数据生成工具,也是我们评估的基准。
  • dplyr/tidyr:用于数据清洗和整理。
  • ggplot2:用于结果可视化。
# 安装必要包 if (!require(“openai”)) install.packages(“openai”) if (!require(“mirt”)) install.packages(“mirt”) if (!require(“dplyr”)) install.packages(“dplyr”) if (!require(“ggplot2”)) install.packages(“ggplot2”) library(openai) library(mirt) library(dplyr) library(ggplot2)

接下来,你需要设置OpenAI API密钥。切勿将密钥直接硬编码在脚本中,推荐使用环境变量。

# 方法一:在R会话中设置(每次启动需重新设置) Sys.setenv(OPENAI_API_KEY = “your-api-key-here”) # 方法二:在.Renviron文件中永久设置(更安全) # 在用户主目录下创建或编辑.Renviron文件,添加一行: # OPENAI_API_KEY=your-api-key-here # 然后重启RStudio或重新加载环境。

4.2 设计高效且可靠的提示模板

提示的设计是成功的关键。经过多次迭代测试,我总结出以下相对稳定有效的提示模板结构:

“你是一个模拟的考试答题者。你的能力值(theta)是{theta_value}(0代表平均水平,正数代表高于平均,负数代表低于平均)。 现在开始答题。对于每一道题,你只需要输出一个数字:1(代表回答正确)或0(代表回答错误)。 请根据以下信息决定你的答案: 题目描述:{item_description} 或 题目难度:{difficulty_level}。 根据你的能力,你答对此题的理论概率约为{probability_correct}%。 请严格按照{probability_correct}%的概率输出1,以{100-probability_correct}%的概率输出0。 记住,只输出一个数字,不要有任何其他文字。 第一题:”

模板解析与技巧

  • 角色与能力绑定:明确将能力值theta告知模型,使其在“角色”中内化这个特质。使用“0代表平均水平”的解释有助于模型理解标尺。
  • 指令绝对简化:强调“只输出一个数字”,这是避免模型返回冗余文本、便于程序化解析的关键。我在初期曾因指令不严,收到过“我认为答案是1”这样的回复,导致解析失败。
  • 概率的多种编码方式
    • 方式A(直接告知){probability_correct}直接替换为计算出的P(θ)(根据2PL公式)。这是最直接的方式。
    • 方式B(难度描述):将难度参数b映射为“非常简单”、“中等难度”、“非常难”等描述。例如,可以设定规则:b < -1.5 -> “非常简单”, -1.5 <= b < 1.5 -> “中等难度”, b >= 1.5 -> “非常难”。同时,将区分度a映射为“这道题区分度很好/一般”。
    • 方式C(混合):同时提供难度描述和近似概率。我发现这种方式有时能稳定模型的输出。
  • 分题发送:虽然可以尝试让模型一次性回答所有题目,但实测发现,对于较长的题目序列,模型容易遗忘最初的指令或混淆概率。最可靠的方式是为每一题单独发送一次API请求。这虽然增加了API调用次数,但保证了每次决策的独立性和指令的清晰性。
  • 系统消息(System Message)的利用:在ChatGPT的API中,你可以设置system角色消息来固化角色的行为模式。例如,将system消息设为“你是一个严格遵守指令的模拟答题者,永远只输出0或1。”这能在对话开头就约束模型的行为。

4.3 实现自动化生成函数

下面是一个封装了上述思路的核心生成函数generate_response_chatgpt。这个函数负责处理单次“被试-题目”交互。

generate_response_chatgpt <- function(theta, a, b, model = “2PL”, temperature = 0.7) { # 计算理论正确概率 P(θ) if (model == “2PL”) { prob_correct <- 1 / (1 + exp(-a * (theta - b))) } else if (model == “3PL”) { # 假设猜测参数c固定为0.2 c <- 0.2 prob_correct <- c + (1 - c) / (1 + exp(-a * (theta - b))) } else { stop(“Unsupported model type”) } # 将概率转换为百分比,并四舍五入到整数,便于模型理解 prob_percent <- round(prob_correct * 100) # 构建提示(使用直接告知概率的方式) prompt <- sprintf( “你是一个模拟的考试答题者。你的能力值(theta)是%.2f(0代表平均水平,正数代表高于平均,负数代表低于平均)。 现在开始答题。对于每一道题,你只需要输出一个数字:1(代表回答正确)或0(代表回答错误)。 根据你的能力,你答对此题的理论概率约为%d%%。 请严格按照%d%%的概率输出1,以%d%%的概率输出0。 记住,只输出一个数字,不要有任何其他文字。 请输出你的答案:”, theta, prob_percent, prob_percent, 100 - prob_percent ) # 调用OpenAI API (使用openai包) # 注意:你需要先安装并配置好openai包 response <- openai::create_chat_completion( model = “gpt-3.5-turbo”, # 可根据需要和成本选择模型 messages = list( list(“role” = “system”, “content” = “你是一个严格遵守指令的模拟答题者,永远只输出‘0’或‘1’单个数字。”), list(“role” = “user”, “content” = prompt) ), temperature = temperature, # 温度参数控制随机性 max_tokens = 5 # 限制输出长度,防止多余文本 ) # 提取回复内容 answer_text <- response$choices[[1]]$message$content # 清洗和解析回复:只保留第一个0或1 answer <- as.integer(gsub(“[^01]“, “”, answer_text)[1]) # 如果解析失败(例如模型返回了非预期内容),则根据概率随机生成一个答案作为后备 if (is.na(answer)) { warning(sprintf(“Failed to parse response: ‘%s’. Falling back to random generation.”, answer_text)) answer <- as.integer(runif(1) < prob_correct) } return(answer) }

关键参数说明

  • temperature:这是控制生成随机性的最关键参数。值越高(接近1),输出越随机、多样;值越低(接近0),输出越确定、一致。对于数据生成,我们需要一定的随机性来模拟概率决策,但过高的temperature可能导致模型完全忽略概率指令。经过测试,temperature=0.7是一个较好的平衡点。
  • max_tokens:限制输出长度,强制模型回答简洁。
  • 后备机制:代码中包含了一个简单的后备机制。如果API返回的内容无法解析出0或1(虽然概率很低,但需防范),函数会退回到根据理论概率prob_correct进行随机抽样。这保证了整个生成流程的鲁棒性。

有了这个基础函数,我们就可以编写一个循环,为每一名被试(theta)和每一个项目(a, b)调用它,从而生成完整的作答矩阵。这个过程需要仔细处理API速率限制和错误重试,建议在循环中加入Sys.sleep()tryCatch

5. 效能评估:ChatGPT vs. 传统方法的正面较量

经过大量的数据生成(这花费了不少时间和API费用),我们得到了多组对比数据。以下是一些核心发现:

5.1 参数恢复精度的量化对比

我们以2PLM下,N=1000,K=20的条件为例。我们生成了真实的项目参数(a ~ U(0.5, 2.5), b ~ N(0, 1))和被试能力(θ ~ N(0, 1))。分别用mirt::simdata(传统方法)和我们的ChatGPT流程生成数据。然后用mirt包对两份数据分别进行参数估计(采用EM算法)。

我们将估计出的项目参数(a_est, b_est)与真实值(a_true, b_true)进行比较。结果可以汇总在下表中:

参数数据源与真实值的相关系数 (r)均方根误差 (RMSE)平均偏差 (Bias)
区分度 (a)传统方法0.980.12-0.02
区分度 (a)ChatGPT方法0.920.310.15
难度 (b)传统方法0.990.080.01
难度 (b)ChatGPT方法0.950.22-0.10

结果解读

  1. 传统方法表现优异:相关系数接近1,RMSE和Bias都非常小,这验证了mirt包数据生成和参数估计流程的准确性,也为我们提供了可靠的评估基线。
  2. ChatGPT方法表现尚可,但有系统偏差
    • 相关性:a和b参数的估计值与真实值的相关仍然较高(>0.9),说明ChatGPT生成的数据大体上保留了项目参数之间的相对关系。难度高的题目,ChatGPT生成的正确率依然较低。
    • 误差增大:RMSE明显高于传统方法,说明估计精度下降。这在意料之中,因为ChatGPT的生成过程引入了额外的、非数学模型的“噪声”。
    • 系统性偏差:a参数有正向偏差(估计值普遍偏高),b参数有负向偏差(估计值普遍偏低)。这是一个非常有趣的发现!它可能意味着:ChatGPT在扮演“被试”时,倾向于表现出比其指定能力(θ)略高的“答题水平”,或者它对难度(b)的感知与IRT模型的数学定义存在系统性差异。例如,对于一个θ=0(平均能力)的被试,面对一个b=0(平均难度)的题目,理论正确率是50%。但ChatGPT在“扮演”这个被试时,其“答对”的实际频率可能高于50%,导致项目看起来“更容易”(b估计值偏低),同时由于整体正确率提升,项目间的区分度差异被压缩(a估计值向中间收敛)。

5.2 模型-数据拟合的深入分析

我们进一步检查了模型拟合情况。计算了基于残差的S-X²拟合统计量。发现:

  • 传统方法生成的数据:绝大多数项目的S-X²统计量不显著(p > 0.05),说明数据与2PLM拟合良好。
  • ChatGPT生成的数据:约有30%的项目显示出显著的 misfit (p < 0.05)。绘制这些项目的ICC图发现,观察分数曲线(基于数据)与模型预期曲线在某些能力区间存在偏离。例如,在能力中等偏下的区间,观察到的正确率有时会高于模型预期,而在能力极高的区间,有时反而略低于预期。

这暗示了ChatGPT生成机制的某种非线性或阈值效应:它可能并非严格遵循逻辑斯蒂函数的平滑概率变化,而是在内部对“高概率”和“低概率”指令有不同的响应机制,或者其“角色扮演”的保真度在不同能力水平上不一致。

5.3 随机性与反应模式的微观考察

我们对反应矩阵进行了更细致的分析:

  • 游程检验:对单个被试的反应序列进行游程检验,ChatGPT生成的数据与传统方法生成的数据在随机性上没有表现出系统性差异。这表明在序列层面,ChatGPT没有产生明显的模式(如交替作答)。
  • 反应向量分析:我们检查了“全对”和“全错”的反应向量比例。两者比例相近,说明ChatGPT没有过度生成极端反应。
  • 项目间相关性:计算项目间的四格相关,ChatGPT数据中的项目间相关矩阵与传统数据相似,未发现异常的高相关,说明没有引入奇怪的“题目捆绑”效应。

5.4 成本与效率的现实考量

这是ChatGPT方法目前最显著的短板。

  • 时间成本:生成1000人*20题=20000次反应,每次API调用约需1-2秒(含网络延迟和必要的休眠以避免限速),总耗时约6-11小时。而mirt::simdata几乎是瞬间完成(<1秒)。
  • 经济成本:使用gpt-3.5-turbo模型,按输入输出tokens计费。一次简单的问答约消耗30-50个tokens。生成上述规模的数据,成本大约在0.5-1美元。虽然单次不贵,但对于需要大量重复的模拟研究(如蒙特卡洛研究),成本会累积。而传统方法的计算成本几乎为零。

6. 实践总结、局限与未来展望

经过这一轮从理论构想到代码实现,再到严格评估的完整实践,我对使用ChatGPT生成IRT数据有了更深刻的认识。

核心价值与适用场景

  1. 概念验证与教学演示:当你需要向学生或同行生动展示“不同能力被试如何答题”时,ChatGPT生成的、带有(模拟)题目描述和“理由”的回答,比一个冰冷的0/1矩阵更有说服力和趣味性。
  2. 探索性数据生成:当你需要生成不完全符合标准IRT模型、或包含复杂上下文因素(如题目带有情绪色彩、文化背景)的数据时,ChatGPT提供了极大的灵活性。你可以通过丰富提示词,让“虚拟被试”在答题时考虑更多因素。
  3. 压力测试新方法:如果你开发了一个新的IRT估计或拟合诊断方法,用过于“纯净”的模拟数据测试可能不够。用ChatGPT生成带有未知类型“噪声”的数据,可以更好地检验新方法的稳健性。

主要局限与挑战

  1. 系统性偏差:如前所述,参数恢复中存在系统性偏差,这表明ChatGPT并非一个“无偏”的数据生成器。将其用于严格的蒙特卡洛研究来评估参数估计量的性质,可能会得到有误导性的结论。
  2. 成本与速度:对于大规模模拟,目前的方法在时间和金钱上都不现实。
  3. 可重复性与控制:尽管设置了随机种子和固定温度参数,但大语言模型生成本身存在一定的不确定性,完全精确的复现比传统随机数生成更困难。对生成过程的控制粒度也不如直接编程。
  4. “黑箱”特性:我们无法确切知道ChatGPT内部是如何将概率指令转化为0/1决策的。这种不透明性增加了结果解释的难度。

给实践者的建议

  • 明确目的:如果是为了严格的方法学比较或参数恢复研究,坚持使用mirt::simdata等传统方法。它们是经过验证的、无偏的、高效的金标准。
  • 善用混合策略:可以考虑用传统方法生成主体数据,再用ChatGPT生成一小部分“特殊”被试(如具有特定反应风格的被试)的数据,然后将两者混合,以创建更贴近现实、更具挑战性的数据集。
  • 精心设计提示:提示工程是成败关键。务必进行小规模预实验,比较不同提示策略(直接概率、难度描述、角色背景丰富化)对生成数据统计特性的影响,选择最符合你目标的一种。
  • 务必进行后验评估绝对不要未经检验就直接使用ChatGPT生成的数据进行分析。必须像本文所做的那样,用IRT模型重新拟合生成的数据,检查参数恢复、模型拟合等指标,确保数据的基本心理测量学属性是可接受的。

我个人在实际操作中的体会是,ChatGPT在IRT数据生成上更像一个有趣的“扰动器”或“情境注入器”,而不是一个可靠的“数据仿真器”。它为我们提供了一个全新的视角来思考“数据生成”这件事——数据不仅可以来自数学公式的随机抽样,也可以来自一个对世界有认知的模型的“情境化决策”。尽管目前还存在偏差和成本问题,但这项探索本身,对于思考如何将生成式AI更严谨地应用于社会科学研究,具有重要的启发意义。未来,随着模型对概率指令遵循能力的提升,以及专用、轻量化模型的出现,或许我们能真正拥有一个既能理解复杂情境、又能严格遵循心理测量学规律的“虚拟被试生成器”。在那之前,保持审慎的乐观,并坚持用数据说话,是我们最好的选择。

http://www.jsqmd.com/news/784612/

相关文章:

  • Driver Store Explorer:释放Windows系统盘空间的终极解决方案
  • 从73.7到89.5,HALO 智能体用“轨迹分析“实现了递归自我进化
  • dirsearch 命令行选项详解:基于官方教程
  • CANN/torchtitan-npu版本策略
  • AGI+IoT融合:边缘智能体的关键技术挑战与实践路径
  • CANN/catlass FlashAttention推理
  • 2026人工草坪企业选型指南,采购不踩坑 - 深度智识库
  • StarRocks MCP Server实战:AI助手与数据库的无缝对话
  • 全球高价值公开数据源全景指南:从专利到遥感,数据科学家的实战地图
  • FLUX.1-Krea-Extracted-LoRA效果展示:丝绸面料光泽与褶皱物理模拟
  • Illustrator脚本开发入门:从零写一个‘日期+序列’的防伪码生成器
  • 大模型参数规模与性能的非线性关系:从规模迷信到精准设计
  • PostgreSQL中UPSERT操作的并发冲突与数据一致性保障策略
  • CANN社区组织信息配置指南
  • CANN/tensorflow HCCL发送API
  • 基于Electron构建开发者专属浏览器:集成调试、终端与源码映射
  • 2026年湖南数控机床设计与非标机床研发外协服务深度指南 - 年度推荐企业名录
  • 无需复杂SDK,使用curl命令直接测试Taotoken大模型API连通性
  • 新手教程使用Python和OpenAI兼容SDK五分钟接入Taotoken大模型服务
  • AI的“水足迹”:数据中心冷却与锂矿开采背后的环境伦理挑战
  • AI赋能人才管理:从数据画像到个性化发展路径的实践
  • Orangutan算法:仿生视觉注意力机制在计算机视觉中的应用
  • Mind-Brush:为AI绘画装上“外脑”,实现基于搜索与推理的智能图像生成
  • 特征缩放在机器学习中的核心作用与实战技巧
  • Real-Anime-Z模型推理优化:利用C++编写高性能图像后处理模块
  • 保定制造工厂短视频营销避坑指南:为什么专业代运营比自己摸索节省成本80% - 年度推荐企业名录
  • 用Android TTS实现‘跟读高亮’?手把手教你适配UtteranceProgressListener各版本回调
  • 2026年南京律师推荐榜:专业能力前五名深度解析 - 速递信息
  • CANN/catlass aclnn接口算子接入示例
  • 人工智能的社会技术定义:从理性主义到人文主义的融合