{article.title}
{article.abstract}
{t.read_paper}import React, { useState, useMemo } from "react"; import { Link } from "react-router-dom"; import { ArrowRight, Search as SearchIcon, Filter, X } from "lucide-react"; import { useLanguage } from "../App"; export const Research: React.FC = () => { const { language } = useLanguage(); const [searchQuery, setSearchQuery] = useState(""); const [selectedCategory, setSelectedCategory] = useState("All"); const content = { en: { title: "Research Archive", subtitle: "Our collection of white papers, technical deep dives, and engineering retrospectives. We believe in open-sourcing our learnings from the frontier of applied AI.", read_paper: "Read Paper", search_placeholder: "grep search-query...", no_results: "No research found matching criteria.", categories: [ "All", "Fine-tuning", "Systems", "Architecture", "Small Models", ], articles: [ { id: "lora-without-regret", title: "LoRA Without Regret", date: "Sep 29, 2025", authors: "John Schulman, Pradit", abstract: "Fine-tuning large models is expensive. We investigate whether Low-Rank Adaptation (LoRA) can truly match full fine-tuning performance across various downstream tasks, analyzing rank scaling and matrix initialization.", tags: ["Fine-tuning", "Optimization", "Deep Learning"], category: "Fine-tuning", }, { id: "rag-latency-optimization", title: "Optimizing RAG Latency: A Systems Approach", date: "Aug 14, 2025", authors: "Pradit Engineering", abstract: "Retrieval-Augmented Generation often suffers from p99 latency spikes. We break down the contribution of embedding generation, vector search, and reranking, proposing a caching layer that reduces latency by 40%.", tags: ["RAG", "Systems", "Latency"], category: "Architecture", }, { id: "small-models-reasoning", title: "The Unreasonable Effectiveness of Small Models", date: "July 02, 2025", authors: "Pradit Research", abstract: "Can a 7B parameter model reason as well as a 70B model? With specific chain-of-thought fine-tuning on high-quality synthetic data, we demonstrate parity on GSM8K benchmarks.", tags: ["Small Models", "Reasoning", "Data Efficiency"], category: "Small Models", }, ], }, th: { title: "คลังงานวิจัย", subtitle: "คลังเอกสารทางเทคนิคและการถอดบทเรียนทางวิศวกรรม เราเชื่อในการเปิดเผยสิ่งที่เราเรียนรู้จากพรมแดนแห่ง AI ประยุกต์สู่สาธารณะ", read_paper: "อ่านบทความ", search_placeholder: "ค้นหาบทความ...", no_results: "ไม่พบงานวิจัยที่ตรงกับเงื่อนไข", categories: [ "ทั้งหมด", "Fine-tuning", "Systems", "Architecture", "Small Models", ], articles: [ { id: "lora-without-regret", title: "LoRA โดยไม่เสียใจ", date: "29 ก.ย. 2025", authors: "John Schulman, Pradit (ประดิษฐ์)", abstract: "การ Fine-tune โมเดลขนาดใหญ่มีค่าใช้จ่ายสูง เราตรวจสอบว่า Low-Rank Adaptation (LoRA) สามารถให้ประสิทธิภาพเทียบเท่าการ Fine-tune เต็มรูปแบบได้หรือไม่ โดยวิเคราะห์การปรับขนาด Rank และการเริ่มต้น Matrix", tags: ["Fine-tuning", "Optimization", "Deep Learning"], category: "Fine-tuning", }, { id: "rag-latency-optimization", title: "การปรับปรุงความหน่วง RAG: แนวทางเชิงระบบ", date: "14 ส.ค. 2025", authors: "Pradit Engineering", abstract: "ระบบ RAG มักประสบปัญหาค่าความหน่วง p99 สูง เราจำแนกส่วนประกอบของการสร้าง Embedding, Vector Search และ Reranking พร้อมเสนอชั้น Caching ที่ลดความหน่วงได้ถึง 40%", tags: ["RAG", "Systems", "Latency"], category: "Architecture", }, { id: "small-models-reasoning", title: "ประสิทธิภาพที่น่าทึ่งของโมเดลขนาดเล็ก", date: "02 ก.ค. 2025", authors: "Pradit Research", abstract: "โมเดล 7B สามารถให้เหตุผลได้ดีเท่ากับ 70B หรือไม่? ด้วยการ Fine-tune แบบ Chain-of-thought บนข้อมูลสังเคราะห์คุณภาพสูง เราแสดงให้เห็นถึงความสามารถที่เทียบเท่ากันบน GSM8K", tags: ["Small Models", "Reasoning", "Data Efficiency"], category: "Small Models", }, ], }, }; const t = content[language]; // Filtering Logic const filteredArticles = useMemo(() => { return t.articles.filter((article) => { const matchesSearch = article.title.toLowerCase().includes(searchQuery.toLowerCase()) || article.abstract.toLowerCase().includes(searchQuery.toLowerCase()); // Map 'All' or 'ทั้งหมด' to show everything const isAll = selectedCategory === "All" || selectedCategory === "ทั้งหมด"; const matchesCategory = isAll || article.category === selectedCategory || article.tags.includes(selectedCategory); return matchesSearch && matchesCategory; }); }, [searchQuery, selectedCategory, t.articles]); return (
{t.subtitle}
{article.abstract}
{t.read_paper}{t.no_results}