Edit model card

ChatGPT ์ •๋ณด์„ฑ (Wikipedia) ๊ธ€ ํƒ์ง€๊ธฐ

Description

Model that detects if a Korean wikipedia-style text is written by ChatGPT.

KoBigBird model fine-tuned with approximately 30,000 data of human written wikipedia summaries and ChatGPT generated wikipedia summaries.

Our classifier based on this checkpoint reached a validation accuracy of 99.2% after 10 epochs of training.

Example Usage

from transformers import *
import torch
import torch.nn as nn

model = AutoModelForSequenceClassification.from_pretrained("LDKSolutions/Ko-Wiki-ChatGPT-Detector-v1", num_labels=2) 
model.eval() 
tokenizer = AutoTokenizer.from_pretrained("LDKSolutions/Ko-Wiki-ChatGPT-Detector-v1")

# this is text generated by ChatGPT (GPT 3.5)
text = '''์Šค๋งˆํŠธ ์ปจํŠธ๋ž™ํŠธ๋Š” ๋ธ”๋ก์ฒด์ธ ๊ธฐ์ˆ ์—์„œ ์‚ฌ์šฉ๋˜๋Š” ํ”„๋กœ๊ทธ๋žจ ์ฝ”๋“œ์˜ ์ผ์ข…์œผ๋กœ, ๊ณ„์•ฝ ์กฐ๊ฑด์„ ์ž๋™์œผ๋กœ ๊ฒ€์ฆํ•˜๊ณ  ์‹คํ–‰ํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ์ž…๋‹ˆ๋‹ค. ์Šค๋งˆํŠธ ์ปจํŠธ๋ž™ํŠธ๋Š” ๋ธ”๋ก์ฒด์ธ ๋„คํŠธ์›Œํฌ ์ƒ์—์„œ ์‹คํ–‰๋˜๋ฉฐ, ๋ธ”๋ก์ฒด์ธ์—์„œ ๋ฐœ์ƒํ•˜๋Š” ๋ชจ๋“  ํŠธ๋žœ์žญ์…˜์€ ์Šค๋งˆํŠธ ์ปจํŠธ๋ž™ํŠธ๋ฅผ ํ†ตํ•ด ์ฒ˜๋ฆฌ๋ฉ๋‹ˆ๋‹ค.

์Šค๋งˆํŠธ ์ปจํŠธ๋ž™ํŠธ๋Š” ์กฐ๊ฑด๊ณผ ์‹คํ–‰ ์ฝ”๋“œ๋กœ ์ด๋ฃจ์–ด์ ธ ์žˆ์Šต๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, A๊ฐ€ B์—๊ฒŒ 1,000๋‹ฌ๋Ÿฌ๋ฅผ ์ง€๋ถˆํ•ด์•ผํ•˜๋Š” ๊ณ„์•ฝ์ด ์žˆ๋‹ค๋ฉด, ์ด ๊ณ„์•ฝ์˜ ์กฐ๊ฑด์„ ์Šค๋งˆํŠธ ์ปจํŠธ๋ž™ํŠธ๋กœ ์ž‘์„ฑํ•˜์—ฌ ๊ณ„์•ฝ์ด ์ž๋™์œผ๋กœ ์‹คํ–‰๋˜๋„๋ก ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ์Šค๋งˆํŠธ ์ปจํŠธ๋ž™ํŠธ๋Š” ์ž๋™์œผ๋กœ ์กฐ๊ฑด์„ ๊ฒ€์ฆํ•˜๊ณ , ์ง€์ •๋œ ์กฐ๊ฑด์ด ์ถฉ์กฑ๋˜์—ˆ์„ ๋•Œ ๊ณ„์•ฝ์˜ ์‹คํ–‰ ์ฝ”๋“œ๋ฅผ ์‹คํ–‰ํ•˜์—ฌ ๊ณ„์•ฝ์„ ์ดํ–‰ํ•ฉ๋‹ˆ๋‹ค. ์ด๋ฅผ ํ†ตํ•ด ๊ณ„์•ฝ ๋‹น์‚ฌ์ž๋Š” ์„œ๋กœ๋ฅผ ์‹ ๋ขฐํ•˜์ง€ ์•Š์•„๋„ ์•ˆ์ „ํ•˜๊ฒŒ ๊ฑฐ๋ž˜๋ฅผ ์ง„ํ–‰ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์Šค๋งˆํŠธ ์ปจํŠธ๋ž™ํŠธ๋Š” ๋ธ”๋ก์ฒด์ธ์—์„œ ์‹คํ–‰๋˜๊ธฐ ๋•Œ๋ฌธ์— ๋ชจ๋“  ๊ฑฐ๋ž˜ ๋‚ด์—ญ์ด ํˆฌ๋ช…ํ•˜๊ฒŒ ๊ธฐ๋ก๋˜๋ฉฐ, ์ค‘๊ฐœ์ธ์ด๋‚˜ ์ค‘์•™ ๊ธฐ๊ด€์˜ ๊ฐœ์ž…์ด ์—†๊ธฐ ๋•Œ๋ฌธ์— ๊ฑฐ๋ž˜ ๋น„์šฉ์ด ์ค„์–ด๋“ญ๋‹ˆ๋‹ค. ๋˜ํ•œ ์Šค๋งˆํŠธ ์ปจํŠธ๋ž™ํŠธ๋Š” ์ฝ”๋“œ๋กœ ์ž‘์„ฑ๋˜๊ธฐ ๋•Œ๋ฌธ์— ์ž๋™ํ™”๊ฐ€ ๊ฐ€๋Šฅํ•˜๋ฉฐ, ํ”„๋กœ๊ทธ๋žจ์— ๋”ฐ๋ฅธ ๋น„์ฆˆ๋‹ˆ์Šค ๋กœ์ง์„ ์‹คํ–‰ํ•˜๋Š” ๊ฒƒ์ด ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ ์Šค๋งˆํŠธ ์ปจํŠธ๋ž™ํŠธ๋Š” ๋ธ”๋ก์ฒด์ธ ๊ธฐ์ˆ ์˜ ํ•ต์‹ฌ ๊ธฐ๋Šฅ ์ค‘ ํ•˜๋‚˜๋กœ, ๋ถ„์‚ฐํ˜• ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜(DApp) ๊ฐœ๋ฐœ ๋“ฑ์— ํ™œ์šฉ๋˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.'''

encoded_inputs = tokenizer(text, max_length=512, truncation=True, padding="max_length", return_tensors="pt") 

with torch.no_grad(): 
    outputs = model(**encoded_inputs).logits 
    probability = nn.Softmax()(outputs) 
    predicted_class = torch.argmax(probability).item() 
    if predicted_class == 1: 
        print("ChatGPT๊ฐ€ ์ƒ์„ฑํ–ˆ์„ ํ™•๋ฅ ์ด ๋†’์Šต๋‹ˆ๋‹ค!") 
    else: 
        print("์ธ๊ฐ„์ด ์ž‘์„ฑํ–ˆ์„ ํ™•๋ฅ ์ด ๋†’์Šต๋‹ˆ๋‹ค!") 
Downloads last month
8