| --- |
| title: AI 신약개발 뉴스 판별 |
| description: KoELECTRA + LoRA 기반 AI 신약개발 뉴스 위험 판별과 attention 참고 표시 |
| emoji: 🧪 |
| colorFrom: purple |
| colorTo: green |
| sdk: gradio |
| sdk_version: 4.19.2 |
| app_file: app.py |
| python_version: "3.10" |
| models: |
| - monologg/koelectra-small-v3-discriminator |
| pinned: false |
| --- |
| |
| # AI 신약개발 뉴스 판별 Space |
|
|
| 첨부된 알고리즘 흐름도와 UI 스케치를 Gradio로 구현한 Hugging Face Spaces용 프로젝트입니다. |
|
|
| ## 실행 흐름 |
| 1. 사용자 뉴스 텍스트 입력 |
| 2. 최소 전처리(공백 정리) |
| 3. KoELECTRA tokenizer로 토크나이징 |
| 4. `monologg/koelectra-small-v3-discriminator` + LoRA adapter 추론 |
| 5. 마지막 attention 층을 이용한 참고용 Highlight Word 추출 |
| 6. 정상/가짜뉴스 위험 확률 표시 |
| 7. Model Card 한계를 화면 상단과 하단에 상시 노출 |
|
|
| ## 런타임 오류 방지 조치 |
| - Python을 `3.10`으로 고정했습니다. |
| - `requirements.txt`는 지정 버전을 그대로 사용합니다. |
| - 업로드된 adapter의 원본 `adapter_config.json`은 PEFT 0.20.0에서 생성되어 `alora_invocation_tokens` 등 PEFT 0.9.0이 모르는 필드를 포함하고 있었습니다. |
| - 그래서 `lora_climate_misinfo/adapter_config.json`을 PEFT 0.9.0 호환 필드만 남긴 버전으로 교체했고, 원본은 `adapter_config.original_peft020.json`에 보관했습니다. |
| - `app.py`도 `LoraConfig`를 명시적으로 생성해 `PEFT 0.9.0`이 새 필드를 파싱하지 않도록 이중으로 방지합니다. |
| - LoRA 로드 실패 시 base model만으로 임의 판정하지 않고 UI에 오류를 표시합니다. |
|
|
| ## Space 업로드 |
| 이 폴더의 **내용 전체**를 새 Hugging Face Space 저장소 루트에 업로드하면 됩니다. `README.md`, `app.py`, `requirements.txt`, `lora_climate_misinfo/`가 같은 루트 구조를 유지해야 합니다. |
|
|
| ## 이의 제기 이메일 |
| 원본 Model Card에는 개발자 이메일 주소가 실제로 적혀 있지 않습니다. Space 설정의 Variables에 `CONTACT_EMAIL`을 추가하면 UI의 **이의 제기 안내** 버튼에 해당 주소가 표시됩니다. |
|
|
| ## 파일 구조 |
| ```text |
| . |
| ├── app.py |
| ├── README.md |
| ├── requirements.txt |
| ├── MODEL_CARD.md |
| ├── lora_climate_misinfo/ |
| │ ├── adapter_config.json |
| │ ├── adapter_config.original_peft020.json |
| │ ├── adapter_model.safetensors |
| │ ├── tokenizer.json |
| │ ├── tokenizer_config.json |
| │ └── README.md |
| └── assets/ |
| ├── algorithm_flow.png |
| ├── ui_sketch.png |
| └── model_card_source.pdf |
| ``` |
|
|
| ## Model Card 핵심 한계 |
| - 공신력 있는 기관명을 도용한 문장: 오판 가능 |
| - 의약품과 무관한 공신력 기관명을 가져온 문장: 오판 가능 |
| - 거짓 정보를 구체적 수치로 작성한 문장: 오판 가능 |
| - 우회적·비꼬기 표현: 취약 가능 |
|
|
| 자세한 내용은 `MODEL_CARD.md`를 확인하세요. |
|
|