Logotipo de Zephyrnet

Preguntas de la entrevista de PNL

Fecha:

Una cosa es practicar PNL y otra es descifrar entrevistas. Dar una entrevista para el rol de PNL es muy diferente de un perfil genérico de ciencia de datos.

En solo unos años, las preguntas han cambiado por completo debido al aprendizaje por transferencia y los nuevos modelos de lenguaje. Personalmente, he experimentado que las entrevistas de PNL se vuelven difíciles con el tiempo a medida que avanzamos más. Anteriormente, se trataba de SGD, ingenuo bayes y LSTM, pero ahora se trata más de LAMB, transformador y BERT.

Esta publicación es una pequeña recopilación de preguntas que encontré mientras daba entrevistas y espero arrojar algo de luz sobre aspectos importantes de PNL moderna entrevista. Me estoy centrando más en los acontecimientos en PNL después de la arquitectura del transformador, que también formó la mayoría de mis preguntas durante las entrevistas.

Estas preguntas son tan críticas para evaluar a los ingenieros de PNL que si no se le pregunta nada de esto, podría estar entrevistando a un equipo de PNL obsoleto con menos posibilidades de hacer un trabajo complejo.

¿Le resulta útil esta educación técnica en profundidad sobre las aplicaciones de PNL? Suscríbase a continuación para recibir actualizaciones cuando lancemos nuevo contenido relevante.  

Entrevista moderna de PNL

¿Qué es la perplejidad? ¿Cuál es su lugar en la PNL?

La perplejidad es una forma de expresar un grado de confusión que un modelo tiene para predecir. Más entropía = más confusión. La perplejidad se utiliza para evaluar modelos de lenguaje en PNL. Un buen modelo de lenguaje asigna una mayor probabilidad a la predicción correcta.

¿Cuál es el problema con ReLu?

  • Gradiente explosivo (Resuelto mediante recorte de gradiente).
  • Dying ReLu: no se aprende si la activación es 0 (Resuelto por relu paramétrico).
  • La media y la varianza de las activaciones no son 0 y 1. (Se resuelve parcialmente restando alrededor de 0.5 de la activación. Mejor explicado en videos fast.ai).

¿Cuál es la diferencia entre aprender características latentes usando SVD y obtener vectores incrustados usando una red profunda?

SVD usa una combinación lineal de entradas, mientras que una red neuronal usa una combinación no lineal.

¿Cuál es la información en estado oculto y celular de LSTM?

Oculto almacena toda la información hasta ese paso de tiempo y el estado de la celda almacena información particular que podría ser necesaria en el paso de tiempo futuro.

Número de parámetros en un modelo LSTM con sesgo

4 (𝑚h + h² + h) donde 𝑚 es el tamaño de los vectores de entrada y h es el tamaño de los vectores de salida también conocido como oculto.

El punto para ver aquí es que mh dicta el tamaño del modelo como m >> h. Por eso es importante tener un vocabulario reducido.

Complejidad de tiempo de LSTM

seq_length * hidden²

Complejidad de tiempo del transformador

seq_length² * oculto

Cuando el tamaño oculto es mayor que seq_length (que normalmente es el caso), el transformador es más rápido que LSTM.

¿Por qué la auto-atención es asombrosa?

“En términos de complejidad computacional, las capas de auto atención son más rápidas que las capas recurrentes cuando la longitud de secuencia n es menor que la dimensionalidad de representación d, que suele ser el caso con las representaciones de oraciones utilizadas por los modelos más modernos en máquinas traducciones, como representaciones de piezas de palabras y pares de bytes ". - de La atención es todo lo que necesitas.

Entrevista PNL

¿Cuáles son las limitaciones del optimizador Adam?

“Si bien entrenar con Adam ayuda a lograr una convergencia rápida, el modelo resultante a menudo tienen peor rendimiento de generalización que cuando se entrena con SGD con impulso. Otro problema es que a pesar de que Adam tiene tasas de aprendizaje adaptativo, su rendimiento mejora cuando se utiliza un buen programa de tasas de aprendizaje. Especialmente al principio del entrenamiento, es beneficioso usar una tasa de aprendizaje más baja para evitar divergencias. Esto se debe a que al principio, los pesos del modelo son aleatorios y, por lo tanto, los gradientes resultantes no son muy confiables. Una tasa de aprendizaje que es demasiado grande podría hacer que el modelo tome pasos demasiado grandes y no se acomode a pesos decentes. Cuando el modelo supera estos problemas iniciales de estabilidad, la tasa de aprendizaje se puede aumentar para acelerar la convergencia. Este proceso se denomina calentamiento de la tasa de aprendizaje, y una versión se describe en el documento. Precisión, gran minibatch SGD: formación de ImageNet en 1 hora. " - de ipralmente.

¿Cómo es AdamW diferente de Adam?

AdamW es Adam con regularización L2 en peso ya que los modelos con pesos más pequeños generalizan mejor.

¿Podemos entrenar un modelo más rápido con lotes grandes?

¡Sí!

En este tweet de abril de 2018, Yann desaconsejó el tamaño de lote grande.

Entrevista PNL

¡Buenas noticias!

No era posible antes, pero ahora está con nuevos optimizadores como
LARS y CORDERO. ALBERT está entrenado con LAMB con un tamaño de lote de 4096.

¿Te gusta la extracción de características o el ajuste fino? ¿Cómo te decides? ¿Usaría BERT como un extractor de funciones o lo afinaría?

Esto se explica en detalle en esta publicación.

¿Dar un ejemplo de estrategia para programar la tasa de aprendizaje?

Explique la política de un ciclo de Leslie Smith.

¿Deberíamos hacer una validación cruzada en el aprendizaje profundo?

No.

La variación de los pliegues cruzados disminuye a medida que crece el tamaño de las muestras. Dado que hacemos aprendizaje profundo solo si tenemos muestras en miles, no tiene mucho sentido la validación cruzada.

¿Cuál es la diferencia entre compartir parámetros rígidos y flexibles en el aprendizaje de tareas múltiples?

En el intercambio duro, entrenamos para todas las tareas a la vez y actualizamos el peso en función de todas las pérdidas. En soft, entrenamos para una sola tarea a la vez.

¿Cuáles son los diferentes tipos de mecanismos de atención?

¿Diferencia entre BatchNorm y LayerNorm?

BatchNorm: calcule la media y var en cada capa para cada minibatch.

LayerNorm: calcule la media y la var para cada muestra individual para cada capa de forma independiente.

¿Por qué el bloque transformador tiene LayerNorm en lugar de BatchNorm?

Mirando las ventajas de LayerNorm, es robusto para el tamaño de lote y funciona mejor ya que funciona a nivel de muestra y no a nivel de lote.

¿Qué cambios haría en su código de aprendizaje profundo si supiera que hay errores en sus datos de entrenamiento?

Podemos hacer el suavizado de etiquetas donde el valor de suavizado se basa en el% de error. Si alguna clase en particular tiene un error conocido, también podemos usar ponderaciones de clase para modificar la pérdida.

¿Cómo elegirías un codificador de texto para una tarea? ¿Cuál es tu codificador de texto favorito y por qué?

Esta es una pregunta subjetiva y puedes leer así para saber mas.

¿Cuáles son los trucos utilizados en ULMFiT? (No es una gran pregunta, pero comprueba la conciencia)

  • Ajuste de LM con texto de tarea
  • Caída de peso
  • Tasas de aprendizaje discriminativas para capas
  • Descongelamiento gradual de capas
  • Programa de tasa de aprendizaje triangular inclinado

Esto puede seguirse con una pregunta sobre cómo explicar cómo ayudan.

¿Por qué el transformador funciona mejor que LSTM?

Obtener la explicación esta página.

Preguntas divertidas: ¿Cuál es la capa más utilizada en el transformador?

Abandono 😂

Pregunta capciosa: dime un modelo de idioma que no usa el abandono

ALBERT v2: esto arroja luz sobre el hecho de que muchas suposiciones que damos por sentado no son necesariamente ciertas. El efecto de regularización del uso compartido de parámetros en ALBERT es tan fuerte que no se necesitan abandonos. (ALBERT v1 tuvo abandonos).

¿Cuáles son las diferencias entre GPT y GPT-2? (De Lilian Weng)

  • Normalización de capa se movió a la entrada de cada subbloque, similar a una unidad residual de tipo "bloque de construcción" (diferente del tipo original "embotellamiento", tiene normalización por lotes aplicada antes de las capas de peso).
  • Se agregó una normalización de capa adicional después del bloqueo final de auto atención.
  • Se construyó una inicialización modificada en función de la profundidad del modelo.
  • Los pesos de las capas residuales se escalaron inicialmente por un factor de 1 / √n donde n es el número de capas residuales.
  • Use vocabulario más grande y tamaño de contexto.

¿Cuáles son las diferencias entre GPT y BERT?

  • GPT no es bidireccional y no tiene concepto de enmascaramiento.
  • BERT agrega la tarea de predicción de la siguiente oración en el entrenamiento y, por lo tanto, también tiene una inserción de segmento.

¿Cuáles son las diferencias entre BERT y ALBERT v2?

  • Incorporación de factorización de matriz (ayuda a reducir el número de parámetros)
  • Sin abandono
  • Uso compartido de parámetros (ayuda a reducir el número de parámetros y la regularización)

¿Cómo afecta el intercambio de parámetros en ALBERT al entrenamiento y al tiempo de inferencia?

Sin efecto. El intercambio de parámetros solo disminuye el número de parámetros.

¿Cómo reduciría el tiempo de inferencia de un modelo NN entrenado?

  • Servir en GPU / TPU / FPGA
  • Cuantificación de 16 bits y servida en GPU con soporte fp16
  • Poda para reducir parámetros
  • Destilación del conocimiento (a un modelo de transformador más pequeño o red neuronal simple)
  • Softmax jerárquico
  • También puede almacenar en caché los resultados como se explica esta página.

Dado este cuadro, ¿irá con un modelo de transformador o un modelo de lenguaje LSTM?

¿Usarías BPE con modelos clásicos?

¡Por supuesto! BPE es un tokeniser inteligente y puede ayudarnos a obtener un vocabulario más pequeño que puede ayudarnos a encontrar un modelo con menos parámetros.

¿Cómo harías un motor de búsqueda de documentos arxiv? (Me preguntaron: ¿cómo haría un detector de plagio?)

Obtenga los mejores resultados de k con similitud TF-IDF y luego clasifique los resultados con

  • codificación semántica + similitud de coseno
  • un modelo entrenado para clasificar

Leer más esta página.

¿Cómo harías un clasificador de sentimientos?

Esta es una pregunta con trampa. El entrevistado puede decir todas las cosas, como el uso de la transferencia de aprendizaje y los últimos modelos, pero también necesita hablar sobre tener una clase neutral, de lo contrario, puede tener una precisión / f1 realmente buena y, aun así, el modelo clasificará todo en positivo o negativo.

La verdad es que muchas noticias son neutrales, por lo que la capacitación debe tener esta clase. El entrevistado también debe hablar sobre cómo creará un conjunto de datos y sus estrategias de capacitación, como la selección del modelo de lenguaje, el ajuste del modelo de lenguaje y el uso de varios conjuntos de datos para el aprendizaje de tareas múltiples.

Este artículo se publicó originalmente el Mediana y re-publicado a TOPBOTS con permiso del autor.

¿Disfrutas este artículo? Regístrese para obtener más actualizaciones de AI y PNL.

Le informaremos cuando publiquemos una educación técnica más profunda.

Fuente: https://www.topbots.com/nlp-interview-questions/?utm_source=rss&utm_medium=rss&utm_campaign=nlp-interview-questions

punto_img

Información más reciente

punto_img