赞
踩
大语言模型的概念就是通过数据集进行训练,经过不断调整指令参数来解决推理问题。
目前已知的成熟大模型:
大语言模型 | 数据量大 | 资源消耗大,速度慢 | 能够处理广泛复杂的逻辑 |
---|---|---|---|
传统机器学习 | 数据量少 | 模型训练&推理速度较快 | 缺乏灵活性 |
小规模语言模型 | 数据量少 | 资源消耗少 | 难以处理广泛或复杂的语言任务 |
概念:
训练大模型,常见的实现方案便是提示工程(Prompt Engineering)
通过设计和定制特定的提示(prompts),即输入到模型中的文本,引导大模型生成预期的输出或执行特定的任务。
例如本次赛题中的数据集中,第一个文本如下:
{
"problem":
"有一群人和一些食物类型。下列是关于这些个体和食物的已知信息:\n\n1. 鸡肉是一种食物。\n2. 苹果是一种食物。\n3. 如果X吃了Y,且X活着,则Y是一种食物。\n4. Bill存活。\n5. Bill吃了花生。\n6. John吃所有食物。\n7. Sue吃所有Bill吃的食物。\n8. John喜欢所有食物。\n\n根据以上信息,回答以下选择题:",
"questions":
[
{
"question": "选择题 1:\n谁喜欢吃花生?",
"options": ["Bill", "Sue", "John", "None of the above"]
}
],
"id": "round1_test_data_000"
}
提示工程 就是要把它转化成MD格式的prompt,让大模型能够理解并进行分析。
你是一个逻辑推理专家,擅长解决逻辑推理问题。以下是一个逻辑推理的题目,形式为单项选择题。所有的问题都是(close-world assumption)闭世界假设,即未观测事实都为假。请逐步分析问题并在最后一行输出答案,最后一行的格式为"答案是:A"。题目如下: ### 题目: 有一群人和一些食物类型。下列是关于这些个体和食物的已知信息: 鸡肉是一种食物。 苹果是一种食物。 如果X吃了Y,且X活着,则Y是一种食物。 Bill存活。 Bill吃了花生。 John吃所有食物。 Sue吃所有Bill吃的食物。 John喜欢所有食物。 根据以上信息,回答以下选择题: ### 问题: 选择题 1: 谁喜欢吃花生? A. Bill B. Sue C. John D. None of the above
!pip install scipy openai tiktoken retry dashscope loguru
dashscope.api_key="sk-*****"
import json import os from pprint import pprint import re from tqdm import tqdm import random import uuid import openai import tiktoken import json import numpy as np import requests from retry import retry from scipy import sparse #from rank_bm25 import BM25Okapi #import jieba from http import HTTPStatus import dashscope from concurrent.futures import ThreadPoolExecutor, as_completed from loguru import logger import json import time from tqdm import tqdm logger.remove() # 移除默认的控制台输出 logger.add("logs/app_{time:YYYY-MM-DD}.log", level="INFO", rotation="00:00", retention="10 days", compression="zip")
选择模型
# 这里用到的模型是qwen2-7b-instruct,可以替换其他模型,跑出更高的分数
MODEL_NAME = 'qwen2-7b-instruct'
=> 使用该模型分数为0.6521
=> 换了一个模型qwen2-72b-instruct
得分明显提高 0.8389
=> 又换了一个模型deepseek-chat
,得分提高 0.8547
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。