Skip to content

fpem123/KoGPT2-DINO

Β 
Β 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

22 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

KoGPT2-DINO

Run on Ainize

  • KoGPT2와 Datasets from Instructions (DINO πŸ¦•)λ₯Ό μ΄μš©ν•˜μ—¬ 데이터λ₯Ό μƒμ„±ν•˜λŠ” μ–΄ν”Œλ¦¬μΌ€μ΄μ…˜μž…λ‹ˆλ‹€.
  • ν•™μŠ΅λœ λͺ¨ν˜•κ³Ό Config 등에 μ˜ν•΄ μ„±λŠ₯은 λ‹¬λΌμ§ˆ 수 μžˆμŠ΅λ‹ˆλ‹€.

μ˜ˆμ‹œ

Input:

  • λ¬Έμž₯: GPT-2λŠ” 주어진 ν…μŠ€νŠΈμ˜ λ‹€μŒ 단어λ₯Ό 잘 μ˜ˆμΈ‘ν•  수 μžˆλ„λ‘ ν•™μŠ΅λœ μ–Έμ–΄λͺ¨λΈμž…λ‹ˆλ‹€.

Output (νŒŒμΈνŠœλ‹ 없이 생성):

  • 동일 의미: "GPT-2λŠ” 주어진 ν…μŠ€νŠΈμ˜ λ‹€μŒ 단어λ₯Ό μ •ν™•νžˆ μ˜ˆμΈ‘ν•  수 μžˆλ„λ‘ ν•™μŠ΅λœ μ–Έμ–΄λͺ¨λΈμž…λ‹ˆλ‹€."
  • μœ μ‚¬ 의미: "GPT-2λŠ” ν…μŠ€νŠΈμ˜ λ‹€μŒ 단어λ₯Ό μ˜ˆμΈ‘ν•˜λ„λ‘ κ³ μ•ˆλœ μ–Έμ–΄λͺ¨λΈμž…λ‹ˆλ‹€."
  • λ‹€λ₯Έ 주제: "GPT-2의 첫 λ¬Έμž₯을 잘 μ˜ˆμΈ‘ν•  수 μžˆκ²Œλ” μ—°μŠ΅ν•˜μ‹­μ‹œμ˜€."

References:


HOT TO USE

Post parameter

text: The base of generated text.

Output format

{
    "0": {
        label: generated text type number,
        text_a: base text string,
        text_b: generated text string
        },
    "1": {
        label: generated text type number,
        text_a: base text string,
        text_b: generated text string
        },
    ...
}

With CLI

Input example

  • text: GPT-2λŠ” 주어진 ν…μŠ€νŠΈμ˜ λ‹€μŒ 단어λ₯Ό 잘 μ˜ˆμΈ‘ν•  수 μžˆλ„λ‘ ν•™μŠ΅λœ μ–Έμ–΄λͺ¨λΈμž…λ‹ˆλ‹€.

    curl -X POST "https://main-ko-gpt2-dino-fpem123.endpoint.ainize.ai/gen" -H "accept: application/json" -H "Content-Type: multipart/form-data" -F "text=GPT-2λŠ” 주어진 ν…μŠ€νŠΈμ˜ λ‹€μŒ 단어λ₯Ό 잘 μ˜ˆμΈ‘ν•  수 μžˆλ„λ‘ ν•™μŠ΅λœ μ–Έμ–΄λͺ¨λΈμž…λ‹ˆλ‹€."

Output example

{
  "0": {
    "label": "2",
    "text_a": "GPT-2λŠ” 주어진 ν…μŠ€νŠΈμ˜ λ‹€μŒ 단어λ₯Ό 잘 μ˜ˆμΈ‘ν•  수 μžˆλ„λ‘ ν•™μŠ΅λœ μ–Έμ–΄λͺ¨λΈμž…λ‹ˆλ‹€.",
    "text_b": "GPT-2λŠ” ν…μŠ€νŠΈ ν…μŠ€νŠΈ ν…μŠ€νŠΈ ν…μŠ€νŠΈμ˜ λ‹€μŒ 단어λ₯Ό 잘 μ˜ˆμΈ‘ν•  수 μžˆλ„λ‘ ν•™μŠ΅λœ μ–Έμ–΄λͺ¨λΈμž…λ‹ˆλ‹€."
  },
  "1": {
    "label": "0",
    "text_a": "GPT-2λŠ” 주어진 ν…μŠ€νŠΈμ˜ λ‹€μŒ 단어λ₯Ό 잘 μ˜ˆμΈ‘ν•  수 μžˆλ„λ‘ ν•™μŠ΅λœ μ–Έμ–΄λͺ¨λΈμž…λ‹ˆλ‹€.",
    "text_b": "GPT-2λŠ” κ·Έ λ¬Έμž₯의 λ§ˆμ§€λ§‰ λ¬Έμž₯을 잘 μ˜ˆμΈ‘ν•  수 μžˆκ²Œλ” μœ λ„ν•˜κ³  μžˆμŠ΅λ‹ˆλ‹€."
  }
}

With API

API page: Ainize

With Demo

Demo page: End-point


Prepare

git clone https://github.com/soeque1/KoGPT2-DINO.git --recursive
cd KoGPT2-DINO

Input

cat test_input.txt

GPT-2λŠ” 주어진 ν…μŠ€νŠΈμ˜ λ‹€μŒ 단어λ₯Ό 잘 μ˜ˆμΈ‘ν•  수 μžˆλ„λ‘ ν•™μŠ΅λœ μ–Έμ–΄λͺ¨λΈμž…λ‹ˆλ‹€.

Config

cat task_specs/para-ko.json
pip install -r requirements.txt
{
    "task_name": "para-ko",
    "labels": {
      "2": {
        "instruction": "과제 : λ™μΌν•œ 의미의 두 λ¬Έμž₯을 μž‘μ„±ν•˜μ„Έμš”.\nλ¬Έμž₯ 1: \"<X1>\"\nλ¬Έμž₯ 2: \"",
        "counter_labels": []
      },
      "1": {
        "instruction": "과제 : λΉ„μŠ·ν•œ 의미의 두 λ¬Έμž₯을 μž‘μ„±ν•˜μ„Έμš”.\nλ¬Έμž₯ 1: \"<X1>\"\nλ¬Έμž₯ 2: \"",
        "counter_labels": [
          "2"
        ]
      },
      "0": {
        "instruction": "과제 : μ™„μ „νžˆ λ‹€λ₯Έ μ£Όμ œμ— κ΄€ν•˜μ—¬ 두 λ¬Έμž₯을 μž‘μ„±ν•˜μ„Έμš”.\nλ¬Έμž₯ 1: \"<X1>\"\nλ¬Έμž₯ 2: \"",
        "counter_labels": [
          "2",
          "1"
        ]
      }
    }
  }

Run

  • ONLY CPU
python dino/dino.py \
 --output_dir test_out \
 --model_name skt/kogpt2-base-v2 \
 --task_file task_specs/para-ko.json \
 --input_file test_input.txt \
 --input_file_type plain \
 --max_output_length 128 \
 --top_p 0.9 \
 --top_k 5 \
 --decay_constant 100 \
 --remove_identical_pairs \
 --num_entries_per_input_and_label 1 \
 --no_cuda
  • GPU
python dino/dino.py \
 --output_dir test_out \
 --model_name skt/kogpt2-base-v2 \
 --task_file task_specs/para-ko.json \
 --input_file test_input.txt \
 --input_file_type plain \
 --max_output_length 128 \
 --top_p 0.9 \
 --top_k 5 \
 --decay_constant 100 \
 --remove_identical_pairs \
 --num_entries_per_input_and_label 1
  • DOCKER (GPU)
docker run \
  --gpus 1 \
  -v $PWD:/workspace \
  nvcr.io/nvidia/pytorch:20.12-py3 \
  bash -c "
  pip install -r requirements.txt &&
  python dino/dino.py \
  --output_dir test_out \
  --model_name skt/kogpt2-base-v2 \
  --task_file task_specs/para-ko.json \
  --input_file test_input.txt \
  --input_file_type plain \
  --max_output_length 128 \
  --top_p 0.9 \
  --top_k 5 \
  --decay_constant 100 \
  --remove_identical_pairs \
  --num_entries_per_input_and_label 1"

Results

cat test_out/para-ko-dataset.jsonl
# 동일 의미 λ¬Έμž₯
{
  "text_a": "GPT-2λŠ” 주어진 ν…μŠ€νŠΈμ˜ λ‹€μŒ 단어λ₯Ό 잘 μ˜ˆμΈ‘ν•  수 μžˆλ„λ‘ ν•™μŠ΅λœ μ–Έμ–΄λͺ¨λΈμž…λ‹ˆλ‹€.",
  "text_b": "GPT-2λŠ” 주어진 ν…μŠ€νŠΈμ˜ λ‹€μŒ 단어λ₯Ό μ •ν™•νžˆ μ˜ˆμΈ‘ν•  수 μžˆλ„λ‘ ν•™μŠ΅λœ μ–Έμ–΄λͺ¨λΈμž…λ‹ˆλ‹€.",
  "label": "2"
}

# μœ μ‚¬ 의미 λ¬Έμž₯
{
  "text_a": "GPT-2λŠ” 주어진 ν…μŠ€νŠΈμ˜ λ‹€μŒ 단어λ₯Ό 잘 μ˜ˆμΈ‘ν•  수 μžˆλ„λ‘ ν•™μŠ΅λœ μ–Έμ–΄λͺ¨λΈμž…λ‹ˆλ‹€.",
  "text_b": "GPT-2λŠ” ν…μŠ€νŠΈμ˜ λ‹€μŒ 단어λ₯Ό μ˜ˆμΈ‘ν•˜λ„λ‘ κ³ μ•ˆλœ μ–Έμ–΄λͺ¨λΈμž…λ‹ˆλ‹€.",
  "label": "1"
}

# λ‹€λ₯Έ 주제 λ¬Έμž₯
{
  "text_a": "GPT-2λŠ” 주어진 ν…μŠ€νŠΈμ˜ λ‹€μŒ 단어λ₯Ό 잘 μ˜ˆμΈ‘ν•  수 μžˆλ„λ‘ ν•™μŠ΅λœ μ–Έμ–΄λͺ¨λΈμž…λ‹ˆλ‹€.",
  "text_b": "GPT-2의 첫 λ¬Έμž₯을 잘 μ˜ˆμΈ‘ν•  수 μžˆκ²Œλ” μ—°μŠ΅ν•˜μ‹­μ‹œμ˜€.",
  "label": "0"
}

About

Generate Korean datasets from Instructions (DINO πŸ¦•).

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Dockerfile 100.0%