flax-sentence-embeddings/multi-QA_v1-mpnet-asymmetric-A
SentenceTransformers es un conjunto de modelos y marcos que permiten el entrenamiento y la generación de embeddings de oraciones a partir de los datos proporcionados. Los embeddings de oraciones generados pueden ser utilizados para Clustering, Búsqueda Semántica y otras tareas. Utilizamos dos modelos preentrenados mpnet-base por separado y los entrenamos usando un objetivo de aprendizaje contrastivo. Se utilizaron pares de preguntas y respuestas de StackExchange y otros conjuntos de datos como datos de entrenamiento para hacer que el modelo sea robusto a la similitud de embeddings de Pregunta / Respuesta. Desarrollamos este modelo durante la semana de la Comunidad usando JAX/Flax para NLP & CV, organizada por Hugging Face. Desarrollamos este modelo como parte del proyecto: Entrenar el Mejor Modelo de Embeddings de Oraciones con 1B pares de entrenamiento. Nos beneficiamos de una infraestructura de hardware eficiente para ejecutar el proyecto: 7 TPU v3-8, así como la asistencia de los miembros del equipo de Flax, JAX y Cloud de Google sobre marcos de aprendizaje profundo eficientes.
Como usar
Aquí se explica cómo usar este modelo para obtener las características de un texto dado usando la biblioteca SentenceTransformers:
from sentence_transformers import SentenceTransformer
model_Q = SentenceTransformer('flax-sentence-embeddings/multi-QA_v1-mpnet-asymmetric-Q')
model_A = SentenceTransformer('flax-sentence-embeddings/multi-QA_v1-mpnet-asymmetric-A')
question = "Reemplázame por cualquier pregunta que te guste."
question_embbedding = model_Q.encode(text)
answer = "Reemplázame por cualquier respuesta que te guste."
answer_embbedding = model_A.encode(text)
answer_likeliness = cosine_similarity(question_embedding, answer_embedding)
Funcionalidades
- Clustering
- Búsqueda Semántica
- Tareas de similitud de oraciones
- Entrenamiento con aprendizaje contrastivo
- Utiliza datos de Pregunta / Respuesta de StackExchange
- Infraestructura de hardware eficiente
Casos de uso
- Encoder de oraciones para un motor de búsqueda
- Realizar búsqueda semántica
- Agrupamiento de oraciones
- Medir la similitud de oraciones