--- 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`를 확인하세요.