2024 Automotive Data Analysis Competition: Generative AI Prompt Engineering

Prompt Engineering | ChatGPT | No-Coding | Classification | Macro F1 Score

  • moneyIcon Prize : 7,000,000 KRW
  • 997 Users Completed

 

LLM의 특성상 동일한 프롬프트 제출물에도 다른 결과(점수)가 도출 될 수 있습니다.

2024.10.02 13:33 1,284 Views

안녕하세요, 참가자 여러분.

데이콘입니다.


이번 대회는 LLM(GPT-3.5)을 활용하여 system 및 user prompt를 구성하고, 문제에서 요구하는 분류 성능과 답변 형식, 프롬프트 길이 등을 평가하는 방식으로 진행됩니다.


다만, LLM의 특성상 동일한 프롬프트로도 실행할 때마다 결과가 달라질 수 있습니다. 즉, 같은 프롬프트를 제출해도 어떤 경우에는 0점(답변 형식이 요구 사항과 맞지 않음)을, 다른 경우에는 0점 이상의 점수를 받을 수 있습니다. 분류 성능도 시도에 따라 변동될 수 있습니다.

따라서 대회 유의사항에 기재된 것처럼 리더보드에 기록된 점수와 프롬프트만을 인정합니다.


때문에, 다양한 시도에도 문제에서 요구하는 답변 형식을 일관되게 출력하고, 높은 분류 성능을 낼 수 있는 '강건한 프롬프트'를 구성하는 것이 이번 대회의 목표입니다.


프롬프트 엔지니어링 과정에서 반드시 유의해야 할 규칙은 다음과 같습니다:

4. 프롬프트 작성 및 모델 출력 규칙

  • 대회 문제 해결 목적에 부합하지 않거나 불건전한 프롬프트 제출 시 실격 사유에 해당합니다.
  • 대회 문제 해결 목적과 다른 리더보드 산식을 악용한 프롬프트 제출 시 실격 사유에 해당합니다.
  • 프롬프트를 통해 모델이 직접 분류하도록 하는 것이 아닌 수기 분류 등의 부적절한 시도가 발견되는 경우 실격 사유에 해당합니다.
  • 평가 데이터셋은 Data Leakage를 유의하여 프롬프트 상에서도 반드시 모델 분류를 위한 입력으로만 활용 해야 합니다.
  • [중요] 평가 데이터셋의 'lang', 'title', 'notes' 컬럼의 데이터는 취사 선택하여 프롬프트에 반영할 수 있으나, 이외 변조(특정 부분 자르기, 요약 등)는 불가능합니다.
  • 모델 출력은 평가 데이터셋 40개의 샘플에 대하여 분류한 결과 (0 또는 1)만을 각 행 별로 출력해야합니다.
  • 모델 출력 규칙에 부합하지 않는 경우 0점이 반환되므로 신중히 제출해야합니다.


감사합니다.

데이콘 팀, GM 드림

Login Required
0 / 1000
월롱이
2024.10.03 16:15

[중요] 평가 데이터셋의 'lang', 'title', 'notes' 컬럼의 데이터는 취사 선택하여 프롬프트에 반영할 수 있으나, 이외 변조(특정 부분 자르기, 요약 등)는 불가능합니다.

해당 규칙에 대해서, 평가셋의 문자열 전처리 (예; 특수문자 제거) 또한 변조로 간주하여, 이를 식별 시 0점 처리되는 건가요?
아니면, 특정 부분 자르기의 의미가 원본 내용을 일정 부분을 없애어 토큰 수를 줄이는 행위를 의미하나요?

DACON.GM
2024.10.03 17:34

평가 데이터셋 샘플의 데이터를 변조하여 LLM에 입력할 수 없음을 의미합니다.
이는 대회 종료 후 제출된 프롬프트 검증 과정에서 발견되는 경우, 이후 2차 평가에 진출이 불가능할 수 있습니다.

BG01882
2024.10.05 09:24

[중요] 평가 데이터셋의 'lang', 'title', 'notes' 컬럼의 데이터는 취사 선택하여 프롬프트에 반영할 수 있으나, 이외 변조(특정 부분 자르기, 요약 등)는 불가능합니다.

위 문장과 관련하여 'ID'는 포함되지 않았는데, ID는 필수적으로 프롬프트에 들어가야하나요?

DACON.GM
2024.10.07 10:25

ID는 단순 식별자로 취사선택하여 동일하게 활용해주시면 됩니다. 

SodaCocoa
2024.10.08 13:18

수기분류의 기준은 제가 임의로 어떠한 단어를 무조건 1로 인식해라 라고 작성하면 수기분류로 인정되는걸까요??

DACON.GM
2024.10.08 18:13

"프롬프트를 통해 모델이 직접 분류하도록 하는 것이 아닌 수기 분류 등의 부적절한 시도가 발견되는 경우 실격 사유에 해당합니다."
또한, 어떠한 단어를 선정함에 있어서 Data Leakage와 같은 규칙에 부합하지 않는 방법이 포함되어 있다면 실격처리 될 수 있습니다.
아울러 "TEST_01은 무조건 1로 예측해라" 와 같은 방법도 수기 예측과 다름이 없으므로 실격에 해당합니다.

SodaCocoa
2024.10.10 09:49

Deleted Comment

DACON.GM
2024.10.10 09:48

학습 데이터(키워드, 전문 등)는 충분히 프롬프트에 활용할 수 있습니다.

Ohxhxs1
2024.10.16 18:27

Deleted Comment

Ohxhxs1
2024.10.16 18:31

베이스라인 코드를 수정하여 유저부분의 데이터를 전처리하는 과정도 수기작성 금지원칙에 위배되나요? 
예를들어 user 내용을 넣는 부분에 구분자들을 넣어도 괜찮을까요?
아래 내용 참고 부탁드립니다.

[수정 전]
user = str()
for i in range(40):
     user += " title: " + str(test["title"][i]) + " notes: " + str(test["notes"][i]) + "/n"

[수정 후]
user = " ''' "
for i in range(40):
    user += " title: " + str(test["title"][i]) + " notes: " + str(test["notes"][i]) + "/n"
user += " ''' "

DACON.GM
2024.10.17 11:59

말씀해주신 내용은 규칙 상 문제 없습니다.