Python RU
12.5K subscribers
1.02K photos
94 videos
40 files
1.26K links
Все для python разработчиков

админ - @haarrp

@python_job_interview - Python собеседования

@ai_machinelearning_big_data - машинное обучение

@itchannels_telegram - 🔥лучшие ит-каналы

@programming_books_it - it книги

@pythonl

РКН: clck.ru/3Fmy2j
Download Telegram
Forwarded from Machinelearning
🚀Только что выпущено новое семейство моделей генерации кода Salesforce (SFR-Embedding-Code), занявшее 1-е место на бенчмарке CoIR!

Модель доступна в в 2-х размерах: 2B, 400M.

Основные характеристики:
1️⃣ Модель 2B: Занимает первое место в CoIR.
2️⃣ Модель 400M: демонстрирует лучшие показатели среди моделей на 0,5B параметров.
3️⃣ Поддерживает 12 языков программирования, Python, Java, C++, JavaScript, C# и другие!

Пример Запуска:

import torch.nn.functional as F
from transformers import AutoTokenizer, AutoModel

# Each query needs to be accompanied by an corresponding instruction describing the task.
query_instruction_example = "Given Code or Text, retrieval relevant content"
queries = [
"how to implement quick sort in Python?"
]

# No instruction needed for retrieval passages
passages = [
"def quick_sort(arr):\n if len(arr) <= 1:\n return arr\n pivot = arr[len(arr) // 2]\n left = [x for x in arr if x < pivot]\n middle = [x for x in arr if x == pivot]\n right = [x for x in arr if x > pivot]\n return quick_sort(left) + middle + quick_sort(right)",
"def bubble_sort(arr):\n n = len(arr)\n for i in range(n):\n for j in range(0, n-i-1):\n if arr[j] > arr[j+1]:\n arr[j], arr[j+1] = arr[j+1], arr[j]\n return arr"
]

# load model with tokenizer
model = AutoModel.from_pretrained('Salesforce/SFR-Embedding-Code-2B_R', trust_remote_code=True)

# get the embeddings
max_length = 32768
query_embeddings = model.encode_queries(queries, instruction=query_instruction_example, max_length=max_length)
passage_embeddings = model.encode_corpus(passages, max_length=max_length)

# normalize embeddings
query_embeddings = F.normalize(query_embeddings, p=2, dim=1)
passage_embeddings = F.normalize(passage_embeddings, p=2, dim=1)

scores = (query_embeddings @ passage_embeddings.T) * 100
print(scores.tolist())



Документация
Модель 400M
Модель 2B


📌Лицензирование моделей: CC-BY-NC-SA-4.0 License.


#CodeAI #MLResearch #SOTA #OpenScience #code #llm #ml
4😁2👍1
Forwarded from Machinelearning
⭐️ LLM-Reasoner

Инструмент, который поможет добавить рассждуения в ваши LLM проекты , подобно OpenAI o1 и deepseek R1.

Функции:
🧠 Пошаговые рассуждения: Больше никаких ответов из «черного ящика»! Узнайте, как именно мыслит ваш LLM, по аналогии с O1.
🔄 Прогресс в реальном времени: позволяет наблюдать за ходом рассуждений с помощью плавных анимаций
🎯 Поддержка множества LLM провайдеров: Работает со всеми провайдерами LiteLLM
🎮 Streamlit: Удобный пользовательский интерфейс
🛠️ Поддердка CLI: для тех, кто любит возиться с командной строкой.
📊 Проверка уверенности ответа: Узнайте, насколько уверен ваш LLM в каждом шаге рассуждений.

⭐️ Установка:
pip install llm-reasoner

Пример с кодом:

from llm_reasoner import ReasonChain
import asyncio

async def main():
# Create a chain with your preferred settings
chain = ReasonChain(
model="gpt-4", # Choose your model
min_steps=3, # Minimum reasoning steps
temperature=0.2, # Control creativity
timeout=30.0 # Set your timeout
)

# Watch it think step by step!
async for step in chain.generate_with_metadata("Why is the sky blue?"):
print(f"\nStep {step.number}: {step.title}")
print(f"Thinking Time: {step.thinking_time:.2f}s")
print(f"Confidence: {step.confidence:.2f}")
print(step.content)

asyncio.run(main())


@ai_machinelearning_big_data


#llm #ml #ai #opensource #reasoning
Please open Telegram to view this post
VIEW IN TELEGRAM
👍53🔥2👎1
Forwarded from Machinelearning
🌟 EuroBERT: энкодеры нового поколения.

Исследовательская группа под патронажем Centrale Supélec (Университет Париж-Сакле) выпустила в открытый доступ EuroBERT — семейство мультиязычных энкодеров, обученных на 5 трлн. токенов из 15 языков, включая русский.

EuroBERT сочетает инновационную архитектуру с поддержкой контекста до 8192 токенов, что делает это семейство идеальным для анализа документов, поиска информации, классификации, регрессии последовательности, оценки качества, оценки резюме и задач, связанных с программированием, решением математических задачи.

В отличие от предшественников (XLM-RoBERTa и mGTE), EuroBERT объединил GQA, RoPE и среднеквадратичную нормализацию, чтобы достичь беспрецедентной эффективности производительности даже в сложных задачах. Второе немаловажное преимущество EuroBERT - в обучение помимо текстовых данных были включены примеры кода и решения математических задач.

Самая младшая модель EuroBERT с 210 млн. параметров показала рекордные результаты: в тесте MIRACL по многоязычному поиску её точность достигла 95%, а в классификации отзывов (AmazonReviews) — 64,5%. Особенно выделяется умение работать с кодом и математикой — в бенчмарках CodeSearchNet и MathShepherd EuroBERT опережает аналоги на 10–15%.

▶️Состав релиза:

🟢EuroBERT-210М
🟢EuroBERT-610М
🟢EuroBERT-2.1В

⚠️ EuroBERT можно использовать непосредственно с transformers, начиная с версии 4.48.0

⚠️ Для достижения максимальной эффективности, разработчики рекомендуют запускать EuroBERT с Flash Attention 2

▶️ Пример инференса:

from transformers import AutoTokenizer, AutoModelForMaskedLM

model_id = "EuroBERT/EuroBERT-210m"

tokenizer = AutoTokenizer.from_pretrained(model_id)
model = AutoModelForMaskedLM.from_pretrained(model_id, trust_remote_code=True)

text = "The capital of France is <|mask|>."
inputs = tokenizer(text, return_tensors="pt")
outputs = model(**inputs)

# To get predictions for the mask:
masked_index = inputs["input_ids"][0].tolist().index(tokenizer.mask_token_id)
predicted_token_id = outputs.logits[0, masked_index].argmax(axis=-1)
predicted_token = tokenizer.decode(predicted_token_id)
print("Predicted token:", predicted_token)
# Predicted token: Paris


📌Лицензирование: Apache 2.0 License.


🟡Статья
🟡Коллекция на HF
🟡Arxiv
🖥GitHub (Скоро)


@ai_machinelearning_big_data

#AI #ML #Encoder #EuroBERT
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5