def detect_emergence(model_sizes, performances, threshold=0.3):
"""
检测性能曲线中的涌现点
"""
emergence_points = []
for i in range(1, len(performances)):
# 计算性能跃升
jump = performances[i] - performances[i-1]
relative_jump = jump / (performances[i-1] + 0.01) # 避免除零
if relative_jump > threshold:
emergence_points.append({
'size': model_sizes[i],
'performance_before': performances[i-1],
'performance_after': performances[i],
'jump': jump,
'relative_jump': relative_jump
})
return emergence_points
# 示例:5位数加法任务
model_sizes = [1e9, 7e9, 13e9, 50e9, 175e9]
performances = [0.05, 0.07, 0.68, 0.89, 0.95] # 在13B处涌现
emergences = detect_emergence(model_sizes, performances)