Skip to content

Conversation

sigridjineth
Copy link
Member

@sigridjineth sigridjineth commented Sep 6, 2025

Position IDs를 attention_mask 기반으로 바꾼 것
→ L0부터 끝까지 수학적 정합성 확보(가장 큰 근본 원인 제거).

PyTorch‑정확 LayerNorm(TorchLayerNormTF1)
→ LN의 미세 오차 제거. embedding 레벨과 모든 블록 잔차경로의 수치 일치 보장.

TF1 그래프 + feed‑assign + 커스텀 Saver(변수 전수집)
→ 그래프에 대형 Const 노드가 남지 않고, 모든 변수가 SavedModel에 포함.
→ TF Serving/Java 호환성과 배포 안정성의 핵심.

Export 단계 Sanity Check(임베딩+LN L0 assert)
→ 잘못된 변환물 저장 자체를 차단하는 마지막 안전장치.

ColBERT head 완전 일치(가중치/바이어스/마스킹/CLS 제외)
→ 실제 검색 품질과 직결되는 헤드가 PT와 수치적으로 동일(MSE=0).

/Users/sigridjineth/Desktop/work/BGE-M3-Model-Converter/.venv/bin/python3.11 /Users/sigridjineth/Desktop/work/BGE-M3-Model-Converter/model_conversion_validator.py 
=== 1) PyTorch ===

[PyTorch] All Layer Outputs:
  Layer 0 hidden state shape: (2, 20, 1024)
  Layer 1 hidden state shape: (2, 20, 1024)
  Layer 2 hidden state shape: (2, 20, 1024)
  Layer 3 hidden state shape: (2, 20, 1024)
  Layer 4 hidden state shape: (2, 20, 1024)
  Layer 5 hidden state shape: (2, 20, 1024)
  Layer 6 hidden state shape: (2, 20, 1024)
  Layer 7 hidden state shape: (2, 20, 1024)
  Layer 8 hidden state shape: (2, 20, 1024)
  Layer 9 hidden state shape: (2, 20, 1024)
  Layer 10 hidden state shape: (2, 20, 1024)
  Layer 11 hidden state shape: (2, 20, 1024)
  Layer 12 hidden state shape: (2, 20, 1024)
  Layer 13 hidden state shape: (2, 20, 1024)
  Layer 14 hidden state shape: (2, 20, 1024)
  Layer 15 hidden state shape: (2, 20, 1024)
  Layer 16 hidden state shape: (2, 20, 1024)
  Layer 17 hidden state shape: (2, 20, 1024)
  Layer 18 hidden state shape: (2, 20, 1024)
  Layer 19 hidden state shape: (2, 20, 1024)
  Layer 20 hidden state shape: (2, 20, 1024)
  Layer 21 hidden state shape: (2, 20, 1024)
  Layer 22 hidden state shape: (2, 20, 1024)
  Layer 23 hidden state shape: (2, 20, 1024)
  Layer 24 hidden state shape: (2, 20, 1024)
=== 2) TensorFlow ===
outputs >> {'colbert_vecs': <tf.Tensor: shape=(2, 19, 1024), dtype=float32, numpy=
array([[[ 0.32928512, -0.1125585 , -0.49183428, ...,  0.16155368,
          0.33396345, -0.00675448],
        [ 0.4307742 ,  0.00873679, -0.2865736 , ...,  0.32808074,
          0.20151775, -0.06308884],
        [ 0.27137956, -0.06170901, -0.25272104, ...,  0.04739508,
          0.41049084,  0.02530823],
        ...,
        [-0.00546088,  0.08859837, -0.3504484 , ...,  0.2625171 ,
          0.46613252,  0.1334329 ],
        [-0.02450071, -0.18421263,  0.03060211, ...,  0.11359002,
          0.48158002, -0.00834481],
        [ 0.4508363 ,  0.19649318, -0.12494306, ...,  0.5596576 ,
          0.07293648, -0.13662192]],

       [[ 0.25521103, -0.00875238, -0.53789777, ...,  0.09722964,
          0.36974305, -0.06560165],
        [ 0.38389987,  0.10751002, -0.37806442, ...,  0.29909363,
          0.22168191, -0.05762064],
        [ 0.16351153,  0.04581645, -0.3656966 , ..., -0.00551193,
          0.43617916, -0.0839855 ],
        ...,
        [ 0.        , -0.        , -0.        , ...,  0.        ,
          0.        ,  0.        ],
        [ 0.        , -0.        , -0.        , ...,  0.        ,
          0.        ,  0.        ],
        [ 0.        , -0.        , -0.        , ...,  0.        ,
          0.        ,  0.        ]]], dtype=float32)>, 'dense_vecs': <tf.Tensor: shape=(2, 1024), dtype=float32, numpy=
array([[-2.1483502 ,  0.09513041, -1.4056467 , ...,  0.8459837 ,
         0.09479031,  0.11166006],
       [-2.0583854 , -0.19201884, -1.1751288 , ...,  0.7148075 ,
         0.02913851,  0.0878114 ]], dtype=float32)>, 'last_hidden_state': <tf.Tensor: shape=(2, 20, 1024), dtype=float32, numpy=
array([[[-2.1483502 ,  0.09513041, -1.4056467 , ...,  0.8459837 ,
          0.09479031,  0.11166006],
        [-0.56857264,  0.01693045, -0.39471895, ...,  1.0846975 ,
         -0.97512513, -0.695277  ],
        [-0.7711521 ,  0.5267325 , -0.76097715, ...,  0.95354694,
         -0.862591  , -0.38046014],
        ...,
        [-0.90763134, -0.31379372, -0.5904193 , ...,  0.5095541 ,
         -1.1137675 , -0.605915  ],
        [-0.89193636, -0.25980222, -0.31470618, ...,  0.7653711 ,
         -1.3908155 , -0.68685776],
        [-1.0297037 ,  0.96891874,  0.481434  , ...,  1.6668912 ,
         -1.9607738 , -0.8297495 ]],

       [[-2.0583854 , -0.19201884, -1.1751288 , ...,  0.7148075 ,
          0.02913851,  0.0878114 ],
        [-0.57164884, -0.09524751, -0.341056  , ...,  1.016677  ,
         -0.9890139 , -0.59316653],
        [-0.7171066 ,  0.33908647, -0.6335476 , ...,  0.8057392 ,
         -0.8336259 , -0.40080425],
        ...,
        [-0.7006699 ,  0.14596634, -0.18742698, ...,  0.49917614,
         -1.1085962 , -0.22989449],
        [-0.7006699 ,  0.14596634, -0.18742698, ...,  0.49917614,
         -1.1085962 , -0.22989449],
        [-0.7006699 ,  0.14596634, -0.18742698, ...,  0.49917614,
         -1.1085962 , -0.22989449]]], dtype=float32)>, 'hidden_states': <tf.Tensor: shape=(25, 2, 20, 1024), dtype=float32, numpy=
array([[[[-2.01599941e-01, -7.86216557e-03, -2.22602755e-01, ...,
          -4.54514116e-01, -6.05456650e-01, -8.37140083e-01],
         [ 1.85482979e-01,  4.61338162e-01, -5.56154788e-01, ...,
          -5.64155698e-01, -1.91667378e-02,  8.14232647e-01],
         [-3.28781426e-01,  2.24465728e+00,  1.09623373e+00, ...,
           1.83495790e-01, -4.67760861e-01,  8.08617771e-01],
         ...,
         [ 9.67531323e-01, -1.12221932e+00, -1.01219523e+00, ...,
          -3.70522469e-01, -4.62963820e-01, -5.20748258e-01],
         [ 7.82766521e-01,  7.63325572e-01, -3.11636388e-01, ...,
          -4.10208106e-01,  2.65854597e-01,  1.27472147e-01],
         [-3.27237040e-01,  2.76762247e-01, -4.90221024e-01, ...,
           1.82240874e-01, -7.18727410e-02,  8.28074932e-01]],

        [[-2.01599941e-01, -7.86216557e-03, -2.22602755e-01, ...,
          -4.54514116e-01, -6.05456650e-01, -8.37140083e-01],
         [ 1.85482979e-01,  4.61338162e-01, -5.56154788e-01, ...,
          -5.64155698e-01, -1.91667378e-02,  8.14232647e-01],
         [-3.28781426e-01,  2.24465728e+00,  1.09623373e+00, ...,
           1.83495790e-01, -4.67760861e-01,  8.08617771e-01],
         ...,
         [-6.67161345e-02,  9.72707272e-01,  1.32836986e+00, ...,
          -6.10638976e-01,  3.51469517e-01, -3.03919435e-01],
         [-6.67161345e-02,  9.72707272e-01,  1.32836986e+00, ...,
          -6.10638976e-01,  3.51469517e-01, -3.03919435e-01],
         [-6.67161345e-02,  9.72707272e-01,  1.32836986e+00, ...,
          -6.10638976e-01,  3.51469517e-01, -3.03919435e-01]]],


       [[[ 1.15139261e-02, -9.63224471e-03, -8.35065618e-02, ...,
          -1.12153128e-01, -1.41865730e-01, -5.85492104e-02],
         [-5.82076162e-02,  3.15992653e-01, -3.17481995e-01, ...,
          -9.50658694e-02,  2.50744462e-01,  1.58798039e-01],
         [-5.92223883e-01,  2.08463717e+00,  8.75745714e-01, ...,
           7.98759878e-01, -8.08436126e-02,  5.57635188e-01],
         ...,
         [ 1.28773093e+00, -1.15310872e+00, -2.20643282e-01, ...,
           2.33099848e-01, -5.94621658e-01, -5.28985023e-01],
         [ 5.27175188e-01,  2.85304576e-01,  3.95195812e-01, ...,
           3.93138379e-02,  5.01447380e-01,  3.92519198e-02],
         [ 3.22251022e-02,  1.17851168e-01, -1.13468707e-01, ...,
           2.38832712e-01,  7.14738667e-03,  2.67159909e-01]],

        [[ 6.87309355e-03, -6.93711638e-03, -9.27730277e-02, ...,
          -1.19974196e-01, -1.38715670e-01, -5.46134263e-02],
         [-1.32532001e-01,  3.25333476e-01, -3.09728384e-01, ...,
          -1.20390207e-01,  2.98781246e-01,  1.87307030e-01],
         [-5.61740041e-01,  2.10902214e+00,  8.78870845e-01, ...,
           6.95444345e-01, -2.88398862e-02,  5.09737253e-01],
         ...,
         [-2.58515626e-01,  7.34064162e-01,  1.23776570e-01, ...,
          -2.25045905e-02,  4.01488125e-01,  1.49843216e-01],
         [-2.58515626e-01,  7.34064162e-01,  1.23776570e-01, ...,
          -2.25045905e-02,  4.01488125e-01,  1.49843216e-01],
         [-2.58515626e-01,  7.34064162e-01,  1.23776570e-01, ...,
          -2.25045905e-02,  4.01488125e-01,  1.49843216e-01]]],


       [[[ 1.34169608e-02,  5.30507565e-02,  3.60805616e-02, ...,
          -9.74385515e-02, -1.07595146e-01, -6.01698682e-02],
         [ 1.18990012e-01, -5.36777973e-02, -6.22657537e-01, ...,
           3.68920952e-01,  4.24076498e-01,  2.94018388e-01],
         [-5.32341897e-01,  1.70937681e+00,  5.65685630e-01, ...,
           9.62958694e-01, -1.60964429e-01,  5.49282849e-01],
         ...,
         [ 6.78164840e-01, -1.19416153e+00, -5.33385754e-01, ...,
           1.70671880e-01, -3.58455956e-01, -1.57322153e-01],
         [ 3.71268570e-01, -2.04027861e-01,  2.67829478e-01, ...,
           2.43594289e-01,  5.82521975e-01, -7.08120987e-02],
         [-3.57711092e-02,  1.61767900e-02, -1.43706620e-01, ...,
          -1.23594627e-02, -3.57559174e-02,  2.62436401e-02]],

        [[ 1.60720460e-02,  5.71908355e-02,  4.41372693e-02, ...,
          -9.28789079e-02, -1.18164346e-01, -5.35207838e-02],
         [ 6.57682121e-02,  1.25494599e-03, -6.05309725e-01, ...,
           3.53526890e-01,  4.27301109e-01,  3.21716428e-01],
         [-4.74866033e-01,  1.72289586e+00,  5.67326069e-01, ...,
           9.14279461e-01, -1.18581727e-01,  5.56868494e-01],
         ...,
         [-2.30614603e-01,  3.87703001e-01, -4.50892746e-01, ...,
           5.78549802e-02,  4.29446697e-01, -3.20436329e-01],
         [-2.30614603e-01,  3.87703001e-01, -4.50892746e-01, ...,
           5.78549802e-02,  4.29446697e-01, -3.20436329e-01],
         [-2.30614603e-01,  3.87703001e-01, -4.50892746e-01, ...,
           5.78549802e-02,  4.29446697e-01, -3.20436329e-01]]],


       ...,


       [[[-1.27540874e+00, -4.58678557e-03, -1.15098011e+00, ...,
           2.75576651e-01,  4.24775839e-01, -1.34751365e-01],
         [-2.49396294e-01, -6.80620894e-02, -1.71841070e-01, ...,
           4.79258776e-01,  1.40869662e-01, -1.39913023e-01],
         [-6.98646545e-01,  3.10836583e-01, -3.84247184e-01, ...,
           1.26158655e-01, -1.88892350e-01, -3.77888262e-01],
         ...,
         [-6.14213347e-01, -4.17930275e-01, -4.63818282e-01, ...,
          -1.97953716e-01, -2.53939152e-01, -2.58642375e-01],
         [-5.84038913e-01, -3.64670962e-01, -1.53524932e-02, ...,
           3.49923447e-02, -2.30085582e-01, -2.65964717e-01],
         [ 4.45536971e-02,  2.25473363e-02,  3.39261629e-03, ...,
           2.04134006e-02, -3.53158340e-02,  2.05262657e-03]],

        [[-1.17254758e+00, -9.58653912e-02, -1.03250802e+00, ...,
           2.39492059e-01,  3.70547652e-01, -7.36531839e-02],
         [-2.82854468e-01, -4.78258729e-02, -6.67395666e-02, ...,
           3.64551961e-01,  5.01017421e-02, -7.16470256e-02],
         [-6.40267134e-01,  2.79448450e-01, -3.05311650e-01, ...,
           4.36218381e-02, -1.28343105e-01, -3.89768004e-01],
         ...,
         [-3.03478748e-01,  9.51443017e-02, -5.02063930e-02, ...,
           1.23201013e-01, -6.20901883e-01, -3.19725633e-01],
         [-3.03478748e-01,  9.51443017e-02, -5.02063930e-02, ...,
           1.23201013e-01, -6.20901883e-01, -3.19725633e-01],
         [-3.03478748e-01,  9.51443017e-02, -5.02063930e-02, ...,
           1.23201013e-01, -6.20901883e-01, -3.19725633e-01]]],


       [[[-2.00921988e+00, -1.21369381e-02, -1.64234626e+00, ...,
           2.14234337e-01,  7.40045905e-01,  1.20419815e-01],
         [-1.17290273e-01, -8.03189352e-02, -3.10231715e-01, ...,
           1.90606087e-01, -3.75957824e-02, -3.02683175e-01],
         [-6.84996724e-01,  1.08053543e-01, -4.60588634e-01, ...,
           9.46937278e-02, -1.51001900e-01, -2.41469443e-01],
         ...,
         [-4.42221254e-01, -3.83497745e-01, -4.23948556e-01, ...,
          -1.74611241e-01, -1.94339588e-01, -2.54128247e-01],
         [-3.47865373e-01, -2.32349113e-01, -1.63565040e-01, ...,
           1.15092471e-02, -3.56334984e-01, -2.86574811e-01],
         [ 1.51067227e-03,  1.55011695e-02, -8.05441942e-03, ...,
           3.38953808e-02, -1.27834594e-02,  1.82832778e-02]],

        [[-1.93117547e+00, -2.39095777e-01, -1.38717842e+00, ...,
           1.16140895e-01,  6.38662398e-01,  9.80680883e-02],
         [-2.10894227e-01, -1.14054471e-01, -1.95792288e-01, ...,
           1.04203083e-01, -5.36815673e-02, -2.12688759e-01],
         [-6.32562876e-01,  6.19919859e-02, -3.61026317e-01, ...,
          -6.83122315e-03, -1.35096952e-01, -2.41264805e-01],
         ...,
         [-4.97520030e-01, -1.06647797e-01, -8.58810171e-02, ...,
          -4.70564067e-02, -4.36508358e-01, -2.52092451e-01],
         [-4.97520030e-01, -1.06647797e-01, -8.58810171e-02, ...,
          -4.70564067e-02, -4.36508358e-01, -2.52092451e-01],
         [-4.97520030e-01, -1.06647797e-01, -8.58810171e-02, ...,
          -4.70564067e-02, -4.36508358e-01, -2.52092451e-01]]],


       [[[-2.14835024e+00,  9.51304063e-02, -1.40564668e+00, ...,
           8.45983684e-01,  9.47903097e-02,  1.11660063e-01],
         [-5.68572640e-01,  1.69304498e-02, -3.94718945e-01, ...,
           1.08469748e+00, -9.75125134e-01, -6.95276976e-01],
         [-7.71152079e-01,  5.26732504e-01, -7.60977149e-01, ...,
           9.53546941e-01, -8.62591028e-01, -3.80460143e-01],
         ...,
         [-9.07631338e-01, -3.13793719e-01, -5.90419292e-01, ...,
           5.09554088e-01, -1.11376750e+00, -6.05915010e-01],
         [-8.91936362e-01, -2.59802222e-01, -3.14706177e-01, ...,
           7.65371084e-01, -1.39081550e+00, -6.86857760e-01],
         [-1.02970374e+00,  9.68918741e-01,  4.81433988e-01, ...,
           1.66689122e+00, -1.96077383e+00, -8.29749525e-01]],

        [[-2.05838537e+00, -1.92018837e-01, -1.17512882e+00, ...,
           7.14807510e-01,  2.91385055e-02,  8.78113955e-02],
         [-5.71648836e-01, -9.52475071e-02, -3.41055989e-01, ...,
           1.01667702e+00, -9.89013910e-01, -5.93166530e-01],
         [-7.17106581e-01,  3.39086473e-01, -6.33547604e-01, ...,
           8.05739224e-01, -8.33625913e-01, -4.00804251e-01],
         ...,
         [-7.00669885e-01,  1.45966336e-01, -1.87426984e-01, ...,
           4.99176145e-01, -1.10859621e+00, -2.29894489e-01],
         [-7.00669885e-01,  1.45966336e-01, -1.87426984e-01, ...,
           4.99176145e-01, -1.10859621e+00, -2.29894489e-01],
         [-7.00669885e-01,  1.45966336e-01, -1.87426984e-01, ...,
           4.99176145e-01, -1.10859621e+00, -2.29894489e-01]]]],
      dtype=float32)>}
hiddens, [[[[-2.01599941e-01 -7.86216557e-03 -2.22602755e-01 ... -4.54514116e-01
    -6.05456650e-01 -8.37140083e-01]
   [ 1.85482979e-01  4.61338162e-01 -5.56154788e-01 ... -5.64155698e-01
    -1.91667378e-02  8.14232647e-01]
   [-3.28781426e-01  2.24465728e+00  1.09623373e+00 ...  1.83495790e-01
    -4.67760861e-01  8.08617771e-01]
   ...
   [ 9.67531323e-01 -1.12221932e+00 -1.01219523e+00 ... -3.70522469e-01
    -4.62963820e-01 -5.20748258e-01]
   [ 7.82766521e-01  7.63325572e-01 -3.11636388e-01 ... -4.10208106e-01
     2.65854597e-01  1.27472147e-01]
   [-3.27237040e-01  2.76762247e-01 -4.90221024e-01 ...  1.82240874e-01
    -7.18727410e-02  8.28074932e-01]]

  [[-2.01599941e-01 -7.86216557e-03 -2.22602755e-01 ... -4.54514116e-01
    -6.05456650e-01 -8.37140083e-01]
   [ 1.85482979e-01  4.61338162e-01 -5.56154788e-01 ... -5.64155698e-01
    -1.91667378e-02  8.14232647e-01]
   [-3.28781426e-01  2.24465728e+00  1.09623373e+00 ...  1.83495790e-01
    -4.67760861e-01  8.08617771e-01]
   ...
   [-6.67161345e-02  9.72707272e-01  1.32836986e+00 ... -6.10638976e-01
     3.51469517e-01 -3.03919435e-01]
   [-6.67161345e-02  9.72707272e-01  1.32836986e+00 ... -6.10638976e-01
     3.51469517e-01 -3.03919435e-01]
   [-6.67161345e-02  9.72707272e-01  1.32836986e+00 ... -6.10638976e-01
     3.51469517e-01 -3.03919435e-01]]]


 [[[ 1.15139261e-02 -9.63224471e-03 -8.35065618e-02 ... -1.12153128e-01
    -1.41865730e-01 -5.85492104e-02]
   [-5.82076162e-02  3.15992653e-01 -3.17481995e-01 ... -9.50658694e-02
     2.50744462e-01  1.58798039e-01]
   [-5.92223883e-01  2.08463717e+00  8.75745714e-01 ...  7.98759878e-01
    -8.08436126e-02  5.57635188e-01]
   ...
   [ 1.28773093e+00 -1.15310872e+00 -2.20643282e-01 ...  2.33099848e-01
    -5.94621658e-01 -5.28985023e-01]
   [ 5.27175188e-01  2.85304576e-01  3.95195812e-01 ...  3.93138379e-02
     5.01447380e-01  3.92519198e-02]
   [ 3.22251022e-02  1.17851168e-01 -1.13468707e-01 ...  2.38832712e-01
     7.14738667e-03  2.67159909e-01]]

  [[ 6.87309355e-03 -6.93711638e-03 -9.27730277e-02 ... -1.19974196e-01
    -1.38715670e-01 -5.46134263e-02]
   [-1.32532001e-01  3.25333476e-01 -3.09728384e-01 ... -1.20390207e-01
     2.98781246e-01  1.87307030e-01]
   [-5.61740041e-01  2.10902214e+00  8.78870845e-01 ...  6.95444345e-01
    -2.88398862e-02  5.09737253e-01]
   ...
   [-2.58515626e-01  7.34064162e-01  1.23776570e-01 ... -2.25045905e-02
     4.01488125e-01  1.49843216e-01]
   [-2.58515626e-01  7.34064162e-01  1.23776570e-01 ... -2.25045905e-02
     4.01488125e-01  1.49843216e-01]
   [-2.58515626e-01  7.34064162e-01  1.23776570e-01 ... -2.25045905e-02
     4.01488125e-01  1.49843216e-01]]]


 [[[ 1.34169608e-02  5.30507565e-02  3.60805616e-02 ... -9.74385515e-02
    -1.07595146e-01 -6.01698682e-02]
   [ 1.18990012e-01 -5.36777973e-02 -6.22657537e-01 ...  3.68920952e-01
     4.24076498e-01  2.94018388e-01]
   [-5.32341897e-01  1.70937681e+00  5.65685630e-01 ...  9.62958694e-01
    -1.60964429e-01  5.49282849e-01]
   ...
   [ 6.78164840e-01 -1.19416153e+00 -5.33385754e-01 ...  1.70671880e-01
    -3.58455956e-01 -1.57322153e-01]
   [ 3.71268570e-01 -2.04027861e-01  2.67829478e-01 ...  2.43594289e-01
     5.82521975e-01 -7.08120987e-02]
   [-3.57711092e-02  1.61767900e-02 -1.43706620e-01 ... -1.23594627e-02
    -3.57559174e-02  2.62436401e-02]]

  [[ 1.60720460e-02  5.71908355e-02  4.41372693e-02 ... -9.28789079e-02
    -1.18164346e-01 -5.35207838e-02]
   [ 6.57682121e-02  1.25494599e-03 -6.05309725e-01 ...  3.53526890e-01
     4.27301109e-01  3.21716428e-01]
   [-4.74866033e-01  1.72289586e+00  5.67326069e-01 ...  9.14279461e-01
    -1.18581727e-01  5.56868494e-01]
   ...
   [-2.30614603e-01  3.87703001e-01 -4.50892746e-01 ...  5.78549802e-02
     4.29446697e-01 -3.20436329e-01]
   [-2.30614603e-01  3.87703001e-01 -4.50892746e-01 ...  5.78549802e-02
     4.29446697e-01 -3.20436329e-01]
   [-2.30614603e-01  3.87703001e-01 -4.50892746e-01 ...  5.78549802e-02
     4.29446697e-01 -3.20436329e-01]]]


 ...


 [[[-1.27540874e+00 -4.58678557e-03 -1.15098011e+00 ...  2.75576651e-01
     4.24775839e-01 -1.34751365e-01]
   [-2.49396294e-01 -6.80620894e-02 -1.71841070e-01 ...  4.79258776e-01
     1.40869662e-01 -1.39913023e-01]
   [-6.98646545e-01  3.10836583e-01 -3.84247184e-01 ...  1.26158655e-01
    -1.88892350e-01 -3.77888262e-01]
   ...
   [-6.14213347e-01 -4.17930275e-01 -4.63818282e-01 ... -1.97953716e-01
    -2.53939152e-01 -2.58642375e-01]
   [-5.84038913e-01 -3.64670962e-01 -1.53524932e-02 ...  3.49923447e-02
    -2.30085582e-01 -2.65964717e-01]
   [ 4.45536971e-02  2.25473363e-02  3.39261629e-03 ...  2.04134006e-02
    -3.53158340e-02  2.05262657e-03]]

  [[-1.17254758e+00 -9.58653912e-02 -1.03250802e+00 ...  2.39492059e-01
     3.70547652e-01 -7.36531839e-02]
   [-2.82854468e-01 -4.78258729e-02 -6.67395666e-02 ...  3.64551961e-01
     5.01017421e-02 -7.16470256e-02]
   [-6.40267134e-01  2.79448450e-01 -3.05311650e-01 ...  4.36218381e-02
    -1.28343105e-01 -3.89768004e-01]
   ...
   [-3.03478748e-01  9.51443017e-02 -5.02063930e-02 ...  1.23201013e-01
    -6.20901883e-01 -3.19725633e-01]
   [-3.03478748e-01  9.51443017e-02 -5.02063930e-02 ...  1.23201013e-01
    -6.20901883e-01 -3.19725633e-01]
   [-3.03478748e-01  9.51443017e-02 -5.02063930e-02 ...  1.23201013e-01
    -6.20901883e-01 -3.19725633e-01]]]


 [[[-2.00921988e+00 -1.21369381e-02 -1.64234626e+00 ...  2.14234337e-01
     7.40045905e-01  1.20419815e-01]
   [-1.17290273e-01 -8.03189352e-02 -3.10231715e-01 ...  1.90606087e-01
    -3.75957824e-02 -3.02683175e-01]
   [-6.84996724e-01  1.08053543e-01 -4.60588634e-01 ...  9.46937278e-02
    -1.51001900e-01 -2.41469443e-01]
   ...
   [-4.42221254e-01 -3.83497745e-01 -4.23948556e-01 ... -1.74611241e-01
    -1.94339588e-01 -2.54128247e-01]
   [-3.47865373e-01 -2.32349113e-01 -1.63565040e-01 ...  1.15092471e-02
    -3.56334984e-01 -2.86574811e-01]
   [ 1.51067227e-03  1.55011695e-02 -8.05441942e-03 ...  3.38953808e-02
    -1.27834594e-02  1.82832778e-02]]

  [[-1.93117547e+00 -2.39095777e-01 -1.38717842e+00 ...  1.16140895e-01
     6.38662398e-01  9.80680883e-02]
   [-2.10894227e-01 -1.14054471e-01 -1.95792288e-01 ...  1.04203083e-01
    -5.36815673e-02 -2.12688759e-01]
   [-6.32562876e-01  6.19919859e-02 -3.61026317e-01 ... -6.83122315e-03
    -1.35096952e-01 -2.41264805e-01]
   ...
   [-4.97520030e-01 -1.06647797e-01 -8.58810171e-02 ... -4.70564067e-02
    -4.36508358e-01 -2.52092451e-01]
   [-4.97520030e-01 -1.06647797e-01 -8.58810171e-02 ... -4.70564067e-02
    -4.36508358e-01 -2.52092451e-01]
   [-4.97520030e-01 -1.06647797e-01 -8.58810171e-02 ... -4.70564067e-02
    -4.36508358e-01 -2.52092451e-01]]]


 [[[-2.14835024e+00  9.51304063e-02 -1.40564668e+00 ...  8.45983684e-01
     9.47903097e-02  1.11660063e-01]
   [-5.68572640e-01  1.69304498e-02 -3.94718945e-01 ...  1.08469748e+00
    -9.75125134e-01 -6.95276976e-01]
   [-7.71152079e-01  5.26732504e-01 -7.60977149e-01 ...  9.53546941e-01
    -8.62591028e-01 -3.80460143e-01]
   ...
   [-9.07631338e-01 -3.13793719e-01 -5.90419292e-01 ...  5.09554088e-01
    -1.11376750e+00 -6.05915010e-01]
   [-8.91936362e-01 -2.59802222e-01 -3.14706177e-01 ...  7.65371084e-01
    -1.39081550e+00 -6.86857760e-01]
   [-1.02970374e+00  9.68918741e-01  4.81433988e-01 ...  1.66689122e+00
    -1.96077383e+00 -8.29749525e-01]]

  [[-2.05838537e+00 -1.92018837e-01 -1.17512882e+00 ...  7.14807510e-01
     2.91385055e-02  8.78113955e-02]
   [-5.71648836e-01 -9.52475071e-02 -3.41055989e-01 ...  1.01667702e+00
    -9.89013910e-01 -5.93166530e-01]
   [-7.17106581e-01  3.39086473e-01 -6.33547604e-01 ...  8.05739224e-01
    -8.33625913e-01 -4.00804251e-01]
   ...
   [-7.00669885e-01  1.45966336e-01 -1.87426984e-01 ...  4.99176145e-01
    -1.10859621e+00 -2.29894489e-01]
   [-7.00669885e-01  1.45966336e-01 -1.87426984e-01 ...  4.99176145e-01
    -1.10859621e+00 -2.29894489e-01]
   [-7.00669885e-01  1.45966336e-01 -1.87426984e-01 ...  4.99176145e-01
    -1.10859621e+00 -2.29894489e-01]]]]
L0 CLS head(PT)[:8]: [-0.20159993 -0.00786221 -0.22260273 -0.30351293  0.7716978  -0.12234226
  0.00731593  0.07493226]
L0 CLS head(TF)[:8]: [-0.20159994 -0.00786217 -0.22260275 -0.30351293  0.7716979  -0.12234224
  0.0073159   0.07493228]

=== 3) Compare ===
PT shape: (2, 1024) TF shape: (2, 1024)
Cosine: ['1.0000', '1.0000']
MSE: 2.2349812972555227e-12
tf_layers, [[[[-2.01599941e-01 -7.86216557e-03 -2.22602755e-01 ... -4.54514116e-01
    -6.05456650e-01 -8.37140083e-01]
   [ 1.85482979e-01  4.61338162e-01 -5.56154788e-01 ... -5.64155698e-01
    -1.91667378e-02  8.14232647e-01]
   [-3.28781426e-01  2.24465728e+00  1.09623373e+00 ...  1.83495790e-01
    -4.67760861e-01  8.08617771e-01]
   ...
   [ 9.67531323e-01 -1.12221932e+00 -1.01219523e+00 ... -3.70522469e-01
    -4.62963820e-01 -5.20748258e-01]
   [ 7.82766521e-01  7.63325572e-01 -3.11636388e-01 ... -4.10208106e-01
     2.65854597e-01  1.27472147e-01]
   [-3.27237040e-01  2.76762247e-01 -4.90221024e-01 ...  1.82240874e-01
    -7.18727410e-02  8.28074932e-01]]

  [[-2.01599941e-01 -7.86216557e-03 -2.22602755e-01 ... -4.54514116e-01
    -6.05456650e-01 -8.37140083e-01]
   [ 1.85482979e-01  4.61338162e-01 -5.56154788e-01 ... -5.64155698e-01
    -1.91667378e-02  8.14232647e-01]
   [-3.28781426e-01  2.24465728e+00  1.09623373e+00 ...  1.83495790e-01
    -4.67760861e-01  8.08617771e-01]
   ...
   [-6.67161345e-02  9.72707272e-01  1.32836986e+00 ... -6.10638976e-01
     3.51469517e-01 -3.03919435e-01]
   [-6.67161345e-02  9.72707272e-01  1.32836986e+00 ... -6.10638976e-01
     3.51469517e-01 -3.03919435e-01]
   [-6.67161345e-02  9.72707272e-01  1.32836986e+00 ... -6.10638976e-01
     3.51469517e-01 -3.03919435e-01]]]


 [[[ 1.15139261e-02 -9.63224471e-03 -8.35065618e-02 ... -1.12153128e-01
    -1.41865730e-01 -5.85492104e-02]
   [-5.82076162e-02  3.15992653e-01 -3.17481995e-01 ... -9.50658694e-02
     2.50744462e-01  1.58798039e-01]
   [-5.92223883e-01  2.08463717e+00  8.75745714e-01 ...  7.98759878e-01
    -8.08436126e-02  5.57635188e-01]
   ...
   [ 1.28773093e+00 -1.15310872e+00 -2.20643282e-01 ...  2.33099848e-01
    -5.94621658e-01 -5.28985023e-01]
   [ 5.27175188e-01  2.85304576e-01  3.95195812e-01 ...  3.93138379e-02
     5.01447380e-01  3.92519198e-02]
   [ 3.22251022e-02  1.17851168e-01 -1.13468707e-01 ...  2.38832712e-01
     7.14738667e-03  2.67159909e-01]]

  [[ 6.87309355e-03 -6.93711638e-03 -9.27730277e-02 ... -1.19974196e-01
    -1.38715670e-01 -5.46134263e-02]
   [-1.32532001e-01  3.25333476e-01 -3.09728384e-01 ... -1.20390207e-01
     2.98781246e-01  1.87307030e-01]
   [-5.61740041e-01  2.10902214e+00  8.78870845e-01 ...  6.95444345e-01
    -2.88398862e-02  5.09737253e-01]
   ...
   [-2.58515626e-01  7.34064162e-01  1.23776570e-01 ... -2.25045905e-02
     4.01488125e-01  1.49843216e-01]
   [-2.58515626e-01  7.34064162e-01  1.23776570e-01 ... -2.25045905e-02
     4.01488125e-01  1.49843216e-01]
   [-2.58515626e-01  7.34064162e-01  1.23776570e-01 ... -2.25045905e-02
     4.01488125e-01  1.49843216e-01]]]


 [[[ 1.34169608e-02  5.30507565e-02  3.60805616e-02 ... -9.74385515e-02
    -1.07595146e-01 -6.01698682e-02]
   [ 1.18990012e-01 -5.36777973e-02 -6.22657537e-01 ...  3.68920952e-01
     4.24076498e-01  2.94018388e-01]
   [-5.32341897e-01  1.70937681e+00  5.65685630e-01 ...  9.62958694e-01
    -1.60964429e-01  5.49282849e-01]
   ...
   [ 6.78164840e-01 -1.19416153e+00 -5.33385754e-01 ...  1.70671880e-01
    -3.58455956e-01 -1.57322153e-01]
   [ 3.71268570e-01 -2.04027861e-01  2.67829478e-01 ...  2.43594289e-01
     5.82521975e-01 -7.08120987e-02]
   [-3.57711092e-02  1.61767900e-02 -1.43706620e-01 ... -1.23594627e-02
    -3.57559174e-02  2.62436401e-02]]

  [[ 1.60720460e-02  5.71908355e-02  4.41372693e-02 ... -9.28789079e-02
    -1.18164346e-01 -5.35207838e-02]
   [ 6.57682121e-02  1.25494599e-03 -6.05309725e-01 ...  3.53526890e-01
     4.27301109e-01  3.21716428e-01]
   [-4.74866033e-01  1.72289586e+00  5.67326069e-01 ...  9.14279461e-01
    -1.18581727e-01  5.56868494e-01]
   ...
   [-2.30614603e-01  3.87703001e-01 -4.50892746e-01 ...  5.78549802e-02
     4.29446697e-01 -3.20436329e-01]
   [-2.30614603e-01  3.87703001e-01 -4.50892746e-01 ...  5.78549802e-02
     4.29446697e-01 -3.20436329e-01]
   [-2.30614603e-01  3.87703001e-01 -4.50892746e-01 ...  5.78549802e-02
     4.29446697e-01 -3.20436329e-01]]]


 ...


 [[[-1.27540874e+00 -4.58678557e-03 -1.15098011e+00 ...  2.75576651e-01
     4.24775839e-01 -1.34751365e-01]
   [-2.49396294e-01 -6.80620894e-02 -1.71841070e-01 ...  4.79258776e-01
     1.40869662e-01 -1.39913023e-01]
   [-6.98646545e-01  3.10836583e-01 -3.84247184e-01 ...  1.26158655e-01
    -1.88892350e-01 -3.77888262e-01]
   ...
   [-6.14213347e-01 -4.17930275e-01 -4.63818282e-01 ... -1.97953716e-01
    -2.53939152e-01 -2.58642375e-01]
   [-5.84038913e-01 -3.64670962e-01 -1.53524932e-02 ...  3.49923447e-02
    -2.30085582e-01 -2.65964717e-01]
   [ 4.45536971e-02  2.25473363e-02  3.39261629e-03 ...  2.04134006e-02
    -3.53158340e-02  2.05262657e-03]]

  [[-1.17254758e+00 -9.58653912e-02 -1.03250802e+00 ...  2.39492059e-01
     3.70547652e-01 -7.36531839e-02]
   [-2.82854468e-01 -4.78258729e-02 -6.67395666e-02 ...  3.64551961e-01
     5.01017421e-02 -7.16470256e-02]
   [-6.40267134e-01  2.79448450e-01 -3.05311650e-01 ...  4.36218381e-02
    -1.28343105e-01 -3.89768004e-01]
   ...
   [-3.03478748e-01  9.51443017e-02 -5.02063930e-02 ...  1.23201013e-01
    -6.20901883e-01 -3.19725633e-01]
   [-3.03478748e-01  9.51443017e-02 -5.02063930e-02 ...  1.23201013e-01
    -6.20901883e-01 -3.19725633e-01]
   [-3.03478748e-01  9.51443017e-02 -5.02063930e-02 ...  1.23201013e-01
    -6.20901883e-01 -3.19725633e-01]]]


 [[[-2.00921988e+00 -1.21369381e-02 -1.64234626e+00 ...  2.14234337e-01
     7.40045905e-01  1.20419815e-01]
   [-1.17290273e-01 -8.03189352e-02 -3.10231715e-01 ...  1.90606087e-01
    -3.75957824e-02 -3.02683175e-01]
   [-6.84996724e-01  1.08053543e-01 -4.60588634e-01 ...  9.46937278e-02
    -1.51001900e-01 -2.41469443e-01]
   ...
   [-4.42221254e-01 -3.83497745e-01 -4.23948556e-01 ... -1.74611241e-01
    -1.94339588e-01 -2.54128247e-01]
   [-3.47865373e-01 -2.32349113e-01 -1.63565040e-01 ...  1.15092471e-02
    -3.56334984e-01 -2.86574811e-01]
   [ 1.51067227e-03  1.55011695e-02 -8.05441942e-03 ...  3.38953808e-02
    -1.27834594e-02  1.82832778e-02]]

  [[-1.93117547e+00 -2.39095777e-01 -1.38717842e+00 ...  1.16140895e-01
     6.38662398e-01  9.80680883e-02]
   [-2.10894227e-01 -1.14054471e-01 -1.95792288e-01 ...  1.04203083e-01
    -5.36815673e-02 -2.12688759e-01]
   [-6.32562876e-01  6.19919859e-02 -3.61026317e-01 ... -6.83122315e-03
    -1.35096952e-01 -2.41264805e-01]
   ...
   [-4.97520030e-01 -1.06647797e-01 -8.58810171e-02 ... -4.70564067e-02
    -4.36508358e-01 -2.52092451e-01]
   [-4.97520030e-01 -1.06647797e-01 -8.58810171e-02 ... -4.70564067e-02
    -4.36508358e-01 -2.52092451e-01]
   [-4.97520030e-01 -1.06647797e-01 -8.58810171e-02 ... -4.70564067e-02
    -4.36508358e-01 -2.52092451e-01]]]


 [[[-2.14835024e+00  9.51304063e-02 -1.40564668e+00 ...  8.45983684e-01
     9.47903097e-02  1.11660063e-01]
   [-5.68572640e-01  1.69304498e-02 -3.94718945e-01 ...  1.08469748e+00
    -9.75125134e-01 -6.95276976e-01]
   [-7.71152079e-01  5.26732504e-01 -7.60977149e-01 ...  9.53546941e-01
    -8.62591028e-01 -3.80460143e-01]
   ...
   [-9.07631338e-01 -3.13793719e-01 -5.90419292e-01 ...  5.09554088e-01
    -1.11376750e+00 -6.05915010e-01]
   [-8.91936362e-01 -2.59802222e-01 -3.14706177e-01 ...  7.65371084e-01
    -1.39081550e+00 -6.86857760e-01]
   [-1.02970374e+00  9.68918741e-01  4.81433988e-01 ...  1.66689122e+00
    -1.96077383e+00 -8.29749525e-01]]

  [[-2.05838537e+00 -1.92018837e-01 -1.17512882e+00 ...  7.14807510e-01
     2.91385055e-02  8.78113955e-02]
   [-5.71648836e-01 -9.52475071e-02 -3.41055989e-01 ...  1.01667702e+00
    -9.89013910e-01 -5.93166530e-01]
   [-7.17106581e-01  3.39086473e-01 -6.33547604e-01 ...  8.05739224e-01
    -8.33625913e-01 -4.00804251e-01]
   ...
   [-7.00669885e-01  1.45966336e-01 -1.87426984e-01 ...  4.99176145e-01
    -1.10859621e+00 -2.29894489e-01]
   [-7.00669885e-01  1.45966336e-01 -1.87426984e-01 ...  4.99176145e-01
    -1.10859621e+00 -2.29894489e-01]
   [-7.00669885e-01  1.45966336e-01 -1.87426984e-01 ...  4.99176145e-01
    -1.10859621e+00 -2.29894489e-01]]]]

[Layer-wise] Cosine (PT vs TF):
  Layer 00  cos=1.0000  mse=0.000000
  Layer 01  cos=1.0000  mse=0.000000
  Layer 02  cos=1.0000  mse=0.000000
  Layer 03  cos=1.0000  mse=0.000000
  Layer 04  cos=1.0000  mse=0.000000
  Layer 05  cos=1.0000  mse=0.000000
  Layer 06  cos=1.0000  mse=0.000000
  Layer 07  cos=1.0000  mse=0.000000
  Layer 08  cos=1.0000  mse=0.000000
  Layer 09  cos=1.0000  mse=0.000000
  Layer 10  cos=1.0000  mse=0.000000
  Layer 11  cos=1.0000  mse=0.000000
  Layer 12  cos=1.0000  mse=0.000000
  Layer 13  cos=1.0000  mse=0.000000
  Layer 14  cos=1.0000  mse=0.000000
  Layer 15  cos=1.0000  mse=0.000000
  Layer 16  cos=1.0000  mse=0.000000
  Layer 17  cos=1.0000  mse=0.000000
  Layer 18  cos=1.0000  mse=0.000000
  Layer 19  cos=1.0000  mse=0.000000
  Layer 20  cos=1.0000  mse=0.000000
  Layer 21  cos=1.0000  mse=0.000000
  Layer 22  cos=1.0000  mse=0.000000
  Layer 23  cos=1.0000  mse=0.000000
  Layer 24  cos=1.0000  mse=0.000000
huggingface/tokenizers: The current process just got forked, after parallelism has already been used. Disabling parallelism to avoid deadlocks...
To disable this warning, you can either:
	- Avoid using `tokenizers` before the fork if possible
	- Explicitly set the environment variable TOKENIZERS_PARALLELISM=(true | false)
Manual vs PT  MSE: 4.7380177e-15
Manual vs TF  MSE: 4.9299562e-15
Fetching 30 files: 100%|██████████| 30/30 [00:00<00:00, 93137.76it/s]
/Users/sigridjineth/Desktop/work/BGE-M3-Model-Converter/model_conversion_validator.py:121: FutureWarning: You are using `torch.load` with `weights_only=False` (the current default value), which uses the default pickle module implicitly. It is possible to construct malicious pickle data which will execute arbitrary code during unpickling (See https://github.com/pytorch/pytorch/blob/main/SECURITY.md#untrusted-models for more details). In a future release, the default value for `weights_only` will be flipped to `True`. This limits the functions that could be executed during unpickling. Arbitrary objects will no longer be allowed to be loaded via this mode unless they are explicitly allowlisted by the user via `torch.serialization.add_safe_globals`. We recommend you start setting `weights_only=True` for any use case where you don't have full control of the loaded file. Please open an issue on GitHub for any issues related to this experimental feature.
  st = torch.load(p, map_location="cpu")

[ColBERT(valid)] mse=0.00000000  cos=1.000000
[ColBERT(all-pos)] mse=0.00000000  cos=0.763158
[last_hidden(valid)] mse=0.00000000  cos=1.000000
[determinism] max_abs_diff: 0.0

Process finished with exit code 0

@sigridjineth sigridjineth changed the title feat: colbert_vecs ColBERT 변환 Sep 7, 2025
@sigridjineth sigridjineth marked this pull request as ready for review September 7, 2025 09:42
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant