AI & ML interests

None defined yet.

Recent Activity

aleks-wordcabΒ  updated a dataset 5 days ago
scx-admin/aussie-1k
aleks-wordcabΒ  published a dataset 5 days ago
scx-admin/aussie-1k
View all activity

IhorΒ 
posted an update 8 months ago
view post
Post
586

🧠 One Model to Classify, Verify, and Guard β€” Meet GLiClass-Instruct

When we first released GLiClass, it was a fast, zero-shot text classifier that could rival cross-encoders at a fraction of the cost. But classification alone wasn't enough. Our real ambition was a single, lightweight model that could handle the diverse range of text-understanding tasks via classification.
We are excited to announce GLiClass-Instruct – a leap forward that transforms GLiClass from a classifier into an instruction-following, multi-task engine.
What's new:
β–ͺ️ Hierarchical labeling: organize labels into structured groups for complex taxonomies
β–ͺ️ In-context learning via examples: provide few-shot examples to adapt on the fly, no fine-tuning needed
β–ͺ️ Prompting support: guide classification behavior with natural-language task descriptions
β–ͺ️ EWC for preventing catastrophic forgetting: add new capabilities without losing old ones
β–ͺ️ 3x faster inference thanks to FlashDeBERTa
New multi-task capabilities:
Beyond topic classification and sentiment analysis, GLiClass now supports:
β–ͺ️ Hallucination detection: verify whether LLM outputs are grounded in context
β–ͺ️ Rule-following verification: check if content complies with custom guidelines
β–ͺ️ Safety classification: detect prompt injections, jailbreaks, and harmful requests
These tasks are crucial for building reliable and efficient agentic systems, where every LLM output needs to be verified, every user input needs to be screened, and every response needs to follow the rules, all at minimal latency.
We release 3 instruction-following models (edge, base, large), with the large model matching SoTA classification models while unlocking entirely new task categories.
πŸ”— Explore more:
GitHub repo: https://github.com/Knowledgator/GLiClass
Models: https://huggingface.co/knowledgator/gliclass-multitask-large-v1.0
Our other solutions: https://www.knowledgator.com/
IhorΒ 
posted an update 9 months ago
view post
Post
340
Meet **GLinker** β€” an ultra-fast, modular, **zero-shot entity linking** framework πŸš€

When we introduced the **GLiNER bi-encoder** in 2024, it enabled efficient zero-shot NER across hundreds of entity types. But that was just the beginning. Our bigger goal was always clear: **linking text to millions of entities dynamically, without retraining**.

In other words: **true entity linking at scale** ⚑

This unlocks powerful applications:
β–ͺ️ More precise search with real-world entity disambiguation
β–ͺ️ Knowledge graph construction across diverse document collections
β–ͺ️ Wikification β€” turning raw text into richly linked, navigable knowledge

After nearly two years of research + engineering, this vision is now real.

We’re excited to release **GLinker** β€” a **production-ready**, zero-shot entity linking system powered by our novel **GLiNER bi-encoder**. It efficiently detects entity spans of any length and matches them directly to entity descriptions β€” **no retraining required**.

**Why GLinker?**
β–ͺ️ Production-ready: multi-layer caching (Redis β†’ Elasticsearch β†’ PostgreSQL)
β–ͺ️ Research-friendly: fully configurable YAML pipelines
β–ͺ️ High performance: precomputed embeddings for bi-encoder models
β–ͺ️ Scalable by design: DAG-based execution + efficient batch processing

GLinker transforms raw text into **structured, disambiguated entity mentions**, bridging unstructured language with large, evolving knowledge bases.

πŸ”— Explore more:
GitHub: https://github.com/Knowledgator/GLinker
Report: https://github.com/Knowledgator/GLinker/blob/main/papers/GLiNER_bi_Encoder_paper.pdf
Linking models: https://huggingface.co/collections/knowledgator/gliner-linker
Bi-encoder models: https://huggingface.co/collections/knowledgator/gliner-bi-encoder
IhorΒ 
posted an update 12 months ago
view post
Post
1,348
Hey builders πŸ‘·β€β™€οΈ

We’re Knowledgator, the team behind open-source NLP models like GLiNER, GLiClass, and many other used for zero-shot text classification and information extraction.

If you’ve explored them on Hugging Face or used our frameworks from GitHub, we’d love your input:
🧩 Which of our models, like GLiNER or zero-shot classifiers, do you find helpful in your practical workflows?
🧩 How’s the setup, performance, and accuracy been for you?
🧩 Anything confusing, buggy, or missing that would make your workflow smoother?

Your feedback helps us improve speed, clarity, and stability for everyone in the open-source community.

πŸ’¬ Comment directly here or join the discussion. We read every one πŸ˜‰:
GitHub: https://github.com/Knowledgator
Discord: https://discord.gg/GXRcAVJQ
HuggingFace:
knowledgator


πŸ“ Want to shape our next release?
Click here to complete this 2-min survey: https://docs.google.com/forms/d/e/1FAIpQLSdyz2UMHrMDX8S9stpBk0wyfngtKSYzwk-02mN1VNYDdTw8OQ/viewform
IhorΒ 
posted an update over 1 year ago
view post
Post
1,945
πŸš€ Reproducing DeepSeek R1 for Text-to-Graph Extraction

I’ve been working on replicating DeepSeek R1, focusing on zero-shot text-to-graph extractionβ€”a challenging task where LMs extract entities and relations from text based on predefined types.

🧠 Key Insight:
Language models struggle when constrained by entity/relation types. Supervised training alone isn’t enough, but reinforcement learning (RL), specifically Guided Reward Policy Optimization (GRPO), shows promise.

πŸ’‘ Why GRPO?
It trains the model to generate structured graphs, optimizing multiple reward functions (format, JSON validity, and extraction accuracy).
It allows the model to learn from both positive and hard negative examples dynamically.
RL can be fine-tuned to emphasize relation extraction improvements.

πŸ“Š Early Results:
Even with limited training, F1 scores consistently improved, and we saw clear benefits from RL-based optimization. More training = better performance!

πŸ”¬ Next Steps:
We’re scaling up experiments with larger models and high-quality data. Stay tuned for updates! Meanwhile, check out one of our experimental models here:
Ihor/Text2Graph-R1-Qwen2.5-0.5b

πŸ“” Learn more details from the blog post: https://medium.com/p/d8b648d9f419

Feel free to share your thoughts and ask questions!
  • 2 replies
Β·
IhorΒ 
posted an update almost 2 years ago
view post
Post
1,257
πŸš€ Welcome the New and Improved GLiNER-Multitask! πŸš€

Since the release of our beta version, GLiNER-Multitask has received many positive responses. It's been embraced in many consulting, research, and production environments. Thank you everyone for your feedback, it helped us rethink the strengths and weaknesses of the first model and we are excited to present the next iteration of this multi-task information extraction model.

πŸ’‘ What’s New?
Here are the key improvements in this latest version:
πŸ”Ή Expanded Task Support: Now includes text classification and other new capabilities.
πŸ”Ή Enhanced Relation Extraction: Significantly improved accuracy and robustness.
πŸ”Ή Improved Prompt Understanding: Optimized for open-information extraction tasks.
πŸ”Ή Better Named Entity Recognition (NER): More accurate and reliable results.

πŸ”§ How We Made It Better:
These advancements were made possible by:
πŸ”Ή Leveraging a better and more diverse dataset.
πŸ”Ή Using a larger backbone model for increased capacity.
πŸ”Ή Implementing advanced model merging techniques.
πŸ”Ή Employing self-learning strategies for continuous improvement.
πŸ”Ή Better training strategies and hyperparameters tuning.

πŸ“„ Read the Paper: https://arxiv.org/abs/2406.12925
βš™οΈ Try the Model: knowledgator/gliner-multitask-v1.0
πŸ’» Test the Demo: knowledgator/GLiNER_HandyLab
πŸ“Œ Explore the Repo: https://github.com/urchade/GLiNER
IhorΒ 
posted an update about 2 years ago
view post
Post
445
πŸš€ Let’s transform LLMs into encoders πŸš€

Auto-regressive LMs have ruled, but encoder-based architectures like GLiNER are proving to be just as powerful for information extraction while offering better efficiency and interpretability. πŸ”βœ¨

Past encoder backbones were limited by small pre-training datasets and old techniques, but with innovations like LLM2Vec, we've transformed decoders into high-performing encoders! πŸ”„πŸ’‘

What’s New?
πŸ”ΉConverted Llama & Qwen decoders to advanced encoders
πŸ”ΉImproved GLiNER architecture to be able to work with rotary positional encoding
πŸ”ΉNew GLiNER (zero-shot NER) & GLiClass (zero-shot classification) models

πŸ”₯ Check it out:

New models: knowledgator/llm2encoder-66d1c76e3c8270397efc5b5e

GLiNER package: https://github.com/urchade/GLiNER

GLiClass package: https://github.com/Knowledgator/GLiClass

πŸ’» Read our blog for more insights, and stay tuned for what’s next!
https://medium.com/@knowledgrator/llm2encoders-e7d90b9f5966
IhorΒ 
posted an update about 2 years ago
view post
Post
781
πŸš€ Meet the new GLiNER architecture πŸš€
GLiNER revolutionized zero-shot NER by demonstrating that lightweight encoders can achieve excellent results. We're excited to continue R&D with this spirit πŸ”₯. Our new bi-encoder and poly-encoder architectures were developed to address the main limitations of the original GLiNER architecture and bring the following new possibilities:

πŸ”Ή An unlimited number of entities can be recognized at once.
πŸ”ΉFaster inference when entity embeddings are preprocessed.
πŸ”ΉBetter generalization to unseen entities.

While the bi-encoder architecture can lack inter-label understanding, we developed a poly-encoder architecture with post-fusion. It achieves the same or even better results on many benchmarking datasets compared to the original GLiNER, while still offering the listed advantages of bi-encoders.
Now, it’s possible to run GLiNER with hundreds of entities much faster and more reliably.

πŸ“Œ Try the new models here:
knowledgator/gliner-bi-encoders-66c492ce224a51c54232657b
  • 4 replies
Β·
IhorΒ 
posted an update over 2 years ago
view post
Post
922
πŸš€ Meet Our New Line of Efficient and Accurate Zero-Shot Classifiers! πŸš€

The new architecture brings better inter-label understanding and can solve complex classification tasks at a single forward pass.

Key Applications:
βœ… Multi-class classification (up to 100 classes in a single run)
βœ… Topic classification
βœ… Sentiment analysis
βœ… Event classification
βœ… Prompt-based constrained classification
βœ… Natural Language Inference
βœ… Multi- and single-label classification

knowledgator/gliclass-6661838823756265f2ac3848
knowledgator/GLiClass_SandBox
knowledgator/gliclass-base-v1.0-lw
IhorΒ 
posted an update over 2 years ago
view post
Post
609
We’re thrilled to share our latest technical paper on the multi-task GLiNER model. Our research dives into the following exciting and forward-thinking topics:

πŸ” Zero-shot NER & Information Extraction: We demonstrate that with diverse and ample data, paired with the right architecture, encoders can achieve impressive results across various extraction tasks;

πŸ› οΈ Synthetic Data Generation: Leveraging open labelling by LLMs like Llama, we generated high-quality training data. Our student model even outperformed the teacher model, highlighting the potential of this approach.

πŸ€– Self-Learning: Our model showed consistent improvements in performance without labelled data, achieving up to a 12% increase in F1 score for initially challenging topics. This ability to learn and improve autonomously is a very perspective direction of future research!

GLiNER multi-task: Generalist Lightweight Model for Various Information Extraction Tasks (2406.12925)
knowledgator/gliner-multitask-large-v0.5
knowledgator/GLiNER_HandyLab


#!pip install gliner -U

from gliner import GLiNER

model = GLiNER.from_pretrained("knowledgator/gliner-multitask-large-v0.5")

text = """
Microsoft was founded by Bill Gates and Paul Allen on April 4, 1975 to develop and sell BASIC interpreters for the Altair 8800. 
"""

labels = ["founder", "computer", "software", "position", "date"]

entities = model.predict_entities(text, labels)

for entity in entities:
    print(entity["text"], "=>", entity["label"])