\tikzset{ FARROW/.style={arrows={-{Latex[length=0.8mm, width=0.64mm]}}, rounded corners=0.6}, d_FARROW/.style={arrows={{Latex[length=0.8mm, width=0.64mm]}-{Latex[length=0.8mm, width=0.64mm]}}}, arrow1/.style={arrows={-{Latex[length=0.5mm, width=.4mm]}}, line width=0.4pt}, DFARROW/.style={arrows={{Latex[length=1.25mm, width=1.mm]}-{Latex[length=1.25mm, width=1.mm]}}}, hid_state/.style = {circle, fill=puerto_rico, minimum width=0.7em, align=center, inner sep=0, outer sep=0, font=\scriptsize}, pos_emb/.style = {circle, fill=flamingo!72, minimum width=1.8em, align=center, inner sep=0, outer sep=0, font=\scriptsize}, mha/.style = {rectangle, fill=sunset_orange, minimum width=0.7em, minimum height=0.7em, align=center, inner sep=0, outer sep=0, font=\scriptsize}, llm/.style = {rectangle, fill=none, draw, minimum width=11.5em, minimum height=6em, align=center, rounded corners=3}, %fill=Madang!82, mlp/.style = {diamond, % regular polygon sides=4, inner sep=0, outer sep=0, minimum width=0.8em, minimum height=0.8em, fill=sushi, align=center}, project/.style = {rectangle, fill=hint_green, minimum width=3.6em, minimum height=1.1em, inner sep=1pt, outer sep=1pt, align=center, rounded corners=1.5, font=\small}, text_node/.style = { inner sep=2pt, outer sep=0pt, font=\fontsize{7.2pt}{9pt}\selectfont}, } \tikzset{ pics/self_att/.style={ code={ \node[hid_state] (-hs) at (0,0) {}; \node[mha, above=0.1em of -hs, xshift=0.7em] (-mha) {}; \node[mlp, above=0.5em of -mha] (-mlp) {}; % \node[hid_state, above=3em of -hs] (-hs-up) {}; \draw [FARROW, puerto_rico, thick] ($(-hs.north)+(0, .11em)$) to ($(-hs.north)+(0, 2.6em)$); \draw [arrow1, sunset_orange] ($(-mha.north)+(0, .01em)$) |- ++(-0.65em, 0.16em); \draw [arrow1, sushi] ($(-mha.north)+(-0.65em, 0.28em)$) -| ($(-mlp.south)+(0, -.01em)$); \draw [arrow1, sushi] ($(-mlp.north)+(0, .02em)$) |- ++(-0.65em, 0.14em); \draw [arrow1, sunset_orange] ($(-hs.east)+(0.01em, 0)$) -| ($(-mha.south)+(0, -.01em)$); \draw[sunset_orange, line width=0.5pt] (-hs) + (180:0.42em) arc (180:0:0.42em); } } } \tikzset{ pics/my_dot/.style args={[#1]}{ code={ \tikzset{dot_color/.style={draw=#1}} \node[circle, minimum size=0.1em, align=center, inner sep=0, outer sep=0, draw, dot_color] (o1) at (0, 0) {}; \node[circle, minimum size=0.1em, align=center, inner sep=0, outer sep=0, draw, dot_color] (o2) at ($(o1.north) + (0, .2em)$) {}; \node[circle, minimum size=0.1em, align=center, inner sep=0, outer sep=0, draw, dot_color] (o3) at ($(o1.north) + (0, .4em)$) {}; } }, % 设置默认颜色参数 pics/my_dot/.default=[puerto_rico] } \tikzset{ pics/my_cdot/.style args={[#1]}{ code={ \tikzset{dot_color/.style={fill=#1}} \node[circle, minimum size=0.12em, inner sep=0, outer sep=0, dot_color] (o1) at (0, 0) {}; \node[circle, minimum size=0.12em, inner sep=0, outer sep=0, dot_color] at ($(o1.center) + (.2em, 0)$) {}; \node[circle, minimum size=0.12em, inner sep=0, outer sep=0, dot_color] at ($(o1.center) + (.4em, 0)$) {}; } }, % 设置默认颜色参数 pics/my_cdot/.default=[sunset_orange] } \begin{figure*} % \centering \begin{subfigure}[b]{0.48\textwidth} %\resizebox{\linewidth}{!}{ \begin{tikzpicture} \begin{scope}[opacity=0.15] \pic[name=sa10, local bounding box=sa10] at (0, 0) {self_att}; \pic[name=sa11, local bounding box=sa11] at ($(sa10-hs) + (2.2em,0)$) {self_att}; \pic[name=sa12, local bounding box=sa12] at ($(sa11-hs) + (2.8em,0)$) {self_att}; \end{scope} \node[text_node, draw, rounded corners=1.5, anchor=north west, text width=6em, ] (ip2) at ($(sa10-hs) + (-0.6em, -1.3em)$) {\hspace*{0.03em} Who wrote the song \hspace*{0.1em}~``\textit{If I Were a Boy}'' ?}; \node[text_node] (input_label) at ($(ip2.north) + (0, -2.4em)$) {\textcolor{flamingo}{\ding{202}} \bf context-free input}; \node[text_node, anchor=north west] (de0) at ($(ip2.north east) + (1em,0)$) {\texttt{}}; \node[text_node, anchor=north west] (de1) at ($(de0.north east) + (0.15em,0)$) {BC}; \node[text_node, anchor=north west] (de2) at ($(de1.north east) + (0.15em,0)$) {Jean}; \node[text_node, anchor=north west] (de3) at ($(de2.north east) + (0.15em,0)$) {and}; \node[text_node, anchor=north west] (de4) at ($(de3.north east) + (0.15em,0)$) {Toby}; \draw [semithick, decorate, decoration={brace, amplitude=5pt, mirror}] ([yshift=-0.6em, xshift=-0.4em] de1.south west) -- ([yshift=-0.6em, xshift=6.2em] de1.south west) node[text_node, midway,yshift=-0.95em] (tf) {\textcolor{flamingo}{\ding{203}} \bf teacher forcing}; \foreach \x in {0,1,2} { \draw [FARROW, puerto_rico, thick] ($(sa1\x-hs.south)+(0, -0.92em)$) to ++(0, 0.9em); } \begin{scope}[opacity=0.3] \foreach \x/\y in {0/5, 1/6, 2/7, 3/8, 4/9} { \pic[name=sa1\y, local bounding box=sa1\y] at ($(de\x |- sa10-hs)$){self_att}; \pic[name=vdot\y, local bounding box=vdot\y] at ($(sa1\y-hs.north) + (0, 2.7em)$) {my_dot}; } \foreach \x/\y in {5/6, 6/7, 7/8, 8/9} { \draw [arrow1, sunset_orange] ($(sa1\x-hs.east)+(0.04em, 0)$) -- ($(sa1\y-hs.west)+(-0.08em, 0)$); } \foreach \x in {5,6,7,8,9} { \node[hid_state] (sa3\x-hs) at ($(sa1\x-hs) + (0, 4.4em)$) {}; \draw [FARROW, puerto_rico, thick] ($(vdot\x.north)+(0, 0.06em)$) to ($(sa3\x-hs.south)+(0, -0.04em)$); } \end{scope} \foreach \x in {5,...,9} { \draw [FARROW, puerto_rico, thick] ($(sa1\x-hs.south)+(0, -1.1em)$) to ++(0, 1.08em); } % 纵向 \begin{scope}[opacity=0.15] % 横着一排 \foreach \x in {0,1,2} { \node[hid_state] (sa3\x-hs) at ($(sa1\x-hs) + (0, 4.4em)$) {}; } % line & arrow \foreach \x in {1} { \draw [arrow1, sunset_orange] ($(sa\x0-hs.east)+(0.04em, 0)$) -- ($(sa\x1-hs.west)+(-0.08em, 0)$); \pic[name=cdot\x, local bounding box=cdot\x] at ($(sa\x1-hs.east)!0.52!(sa\x2-hs.west)$) {my_cdot=[puerto_rico]}; \draw [arrow1, sunset_orange] ($(sa\x1-hs.east)+(0.04em, 0)$) -- ($(cdot\x.west)+(-0.04em, 0) $); %dotted, dash pattern=on 1pt off 0.8pt \draw [arrow1, sunset_orange] ($(cdot\x.east)+(0.08em, 0)$) -- ($(sa\x2-hs.west) +(-0.08em, 0) $); %, dotted, dash pattern=on 1pt off 0.8pt } \pic[name=cdot1-1, local bounding box=cdot1-1] at ($(cdot1o1 |- sa11-mha)$) {my_cdot}; \pic[name=cdot1-2, local bounding box=cdot1-2] at ($(cdot1o1 |- sa11-mlp)$) {my_cdot=[sushi]}; \foreach \x in {0,1,2} { \pic[name=vdot\x, local bounding box=vdot\x] at ($(sa1\x-hs.north) + (0, 2.7em)$) {my_dot}; \draw [FARROW, puerto_rico, thick] ($(vdot\x.north)+(0, 0.06em)$) to ($(sa3\x-hs.south)+(0, -0.04em)$); } \pic[name=cdot_io_0, local bounding box=cdot_io_0] at ($(sa12-hs.east)!0.5!(sa15-hs.west)$) {my_cdot=[puerto_rico]}; \foreach \x/\y in {1/sa12-mha} { \pic[name=cdot_io_\x, local bounding box=cdot_io_\x] at ($(cdot_io_0o1 |- \y)$) {my_cdot}; } % \pic[name=cdot_io_4, local bounding box=cdot_io_4] at ($(cdot_io_0o1 |- sa22-hs.west)$) {my_cdot=[puerto_rico]}; \foreach \x/\y in {2/sa12-mlp} { \pic[name=cdot_io_\x, local bounding box=cdot_io_\x] at ($(cdot_io_0o1 |- \y)$) {my_cdot=[sushi]}; } \pic[name=cdot_io_30, local bounding box=cdot_io_30] at ($(cdot1o1 |- sa30-hs)$) {my_cdot=[puerto_rico]}; \pic[name=cdot_io_31, local bounding box=cdot_io_31] at ($(cdot_io_0o1 |- sa30-hs)$) {my_cdot=[puerto_rico]}; \draw [arrow1, sunset_orange] ($(sa12-hs.east)+(0.04em, 0)$) -- ($(cdot_io_0.west)+(-0.04em, 0) $); \end{scope} % 画省略号 \begin{scope}[opacity=0.3] \draw [arrow1, sunset_orange] ($(cdot_io_0.east)+(0.08em, 0)$) -- ($(sa15-hs.west) +(-0.08em, 0) $); \end{scope} \node[text_node, anchor=base, text depth=.15em, xshift=-0.3em, ] (de_out1) at ($(sa15-hs.north) + (0, 5.5em)$) {Beyonc\'e}; \node[text_node, anchor=base, text depth=.15em, ] (de_out2) at ($(sa16-hs.north |- de_out1.base)$) {Jean}; \node[text_node, anchor=base, text depth=.15em, ] (de_out3) at ($(sa17-hs.north |- de_out1.base)$) {is}; \node[text_node, anchor=base, text depth=.15em, ] (de_out4) at ($(sa18-hs.north |- de_out1.base)$) {Toby}; \node[text_node, anchor=base, text depth=.15em, ] (de_out5) at ($(sa19-hs.north |- de_out1.base)$) {Gad}; \node[text_node, anchor=base, text depth=.15em, ] (gt5) at ($(sa15-hs.north) + (0, 7.7em)$) {BC}; \foreach \x/\y in {6/Jean, 7/and, 8/Toby, 9/Gad} { \node[text_node, % anchor=north, anchor=base, text depth=.15em, ] (gt\x) at ($(sa1\x-hs.south |- gt5.base)$) {\y}; } \node[text_node, anchor=base east, align=right, text depth=.15em, text width=2em, color=tuatara, font=\fontsize{4pt}{5pt}\selectfont \linespread{0.4}\selectfont ] (gt) at ($(de_out1.west) + (0, 2.65em) $) {\bf Ground Truth:}; \node[text_node, anchor=base east, text depth=.15em, color=tuatara, font=\fontsize{4pt}{5pt}\selectfont ] (op_label) at ($(de_out1.west) + (0.05em, 0.15em) $) {\bf Output:}; % 首先需要在 tikzpicture 环境开始时启用 backgrounds 库 \begin{scope}[on background layer] \node[%fill=athens_gray!42, draw=tuatara!42, thin, rounded corners=1pt, fit={(gt5) (gt9) ($(gt5.west) + (-1em,0.02em)$) ($(gt9.east) + (0.3em, 0.55em)$)}, inner sep=-0.5pt, ] (gt_box) {}; \node[%fill=athens_gray!42, draw=tuatara!42, thin, rounded corners=1pt, fit={(de_out1) (de_out5) ($(de_out5.east) + (.3em,0.55em)$)}, inner sep=-0.5pt, ] (output_box) {}; \end{scope} \foreach \x/\y in {5, 6, 7, 8, 9} { \draw [FARROW, puerto_rico, thick] ($(sa3\x-hs.north)+(0, 0.04em)$) to ++(0, 1.05em) ; } %%%% truncation \node[regular polygon, regular polygon sides=8, draw=flamingo!200, fill=flamingo, text=white, minimum size=0.2em, inner sep=0pt, outer sep=0pt] (stop) at ($(gt9.east) + (1.3em, -10em) $) {\fontsize{4pt}{5pt}\selectfont\bf STOP}; \draw [FARROW, flamingo, thick, dash pattern=on 1pt off 0.8pt] (gt_box.east) to ($(gt_box.east -| stop.north)$) to node[midway, sloped=true, color=black, font=\scriptsize, yshift=0.5em, xshift=0.1em] (stop_label) {\bf ground truth length} (stop.north) ; \node[] at ($(stop_label.west) + (0, 0.06em)$) {\small \textcolor{flamingo}{\ding{204}}}; % \draw [dashed, flamingo] ($(de_out5.east)+(0.1em, -0.7em)$) to ($(de_out5.east)+(0.1em, 2.8em)$) ; %%%% verify & tearcher forcing \foreach \x/\y/\z in {5/\ding{56}/flamingo, 6/\ding{52}/shakespeare, 7/\ding{56}/flamingo, 8/\ding{52}/shakespeare, 9/\ding{52}/shakespeare} { \draw [d_FARROW, dotted, dash pattern=on 0.6pt off 0.48pt] ($(gt\x.south)+(0, 0.32em)$) -- node[midway, sloped=false, color=\z, font=\scriptsize] (m\x) {\y} ++(0, -1.82em) ; } %%%% metric \node[densely dotted, draw=flamingo, fit={(m5) (m9) }, inner sep=-2.5pt, ] (m_box) {}; \draw [FARROW, red, densely dotted] ($(m_box.west)+(-0.1em, 0)$) to ++(-0.6em, 0); \draw [FARROW, red, densely dotted] ($(m_box.west)+(-2.5em, 0)$) to ++(0.9em, 0); \node[text_node, anchor=center, align=center, text=flamingo!62!red, ] (result) at ($(gt9.east) + (-8.8em, -1.1em)$) {3/5}; \draw [FARROW] ($(gt_box.west)+(0, 0)$) to ++(-3em, 0) to ++(0, -0.55em); \draw [FARROW] ($(output_box.west)+(0, 0)$) to ++(-3em, 0) to ++(0, 0.55em); \node[project, anchor=center, align=center, font=\fontsize{7.2pt}{9pt}\selectfont ] (metric) at ($(gt.west) + (-0.7em, -1.6em)$) {match ratio}; \node[] at ($(metric.west) + (-0.2em, 0em)$) {\fontsize{7.2pt}{9pt}\selectfont \textcolor{flamingo}{\ding{205}}}; % 计算水平方向的坐标(gt5.east 加上偏移量) \begin{scope}[on background layer] \coordinate (target1) at ($(gt5.east)+(0, -10.9em)$); \draw [FARROW, red] ($(gt5.east)+(-0.2em, 0)$) to ($(gt5.east)+(0.4em, 0)$) to ($(gt5.east)+(0.4em, -10.9em)$) to ($(target1 -| de1.south)$) to ($(de1.south)+(0, 0.2em)$) ; \draw [FARROW, red ] ($(gt6.east)+(-0.2em, 0)$) to ++ (0.3em, 0) to ++(0, -10.9em) to ($(target1 -| de2.south)$) to ($(de2.south)+(0, 0.2em)$); \draw [FARROW, red ] ($(gt7.east)+(-0.25em, 0)$) to ++ (0.45em, 0) to ++(0, -10.9em) to ($(target1 -| de3.south)$) to ($(de3.south)+(0, 0.2em)$); \draw [FARROW, red ] ($(gt8.east)+(-0.2em, 0)$) to ++ (0.3em, 0) to ++(0, -10.9em) to ($(target1 -| de4.south)$) to ($(de4.south)+(0, 0.35em)$); \end{scope} \begin{scope}[on background layer] \node[fill=gallery!42, % draw, % dashed, % thick, rounded corners=2pt, fit={(sa10)(sa15)(sa16)(sa17)(sa18)(sa19)(sa30-hs)}, inner sep=3pt, ] (dashedBox) {}; \draw [dashed, flamingo] ($(cdot_io_0.north)+(-0.4em, -3.8em)$) to ($(cdot_io_31.north)+(-0.4em, 0.9em)$) ; \end{scope} \node[ draw, % dashed, % thick, rounded corners=2pt, fit={(sa10)(sa15)(sa16)(sa17)(sa18)(sa19)(sa30-hs)}, inner sep=3pt, ] {}; \node[ rounded corners=2pt, opacity=0.8, fit={(sa10)(sa15)(sa16)(sa17)(sa18)(sa19)(sa30-hs)}, inner sep=7pt, align=center, text height=24pt, text depth=0.9em, ] {\fontsize{24}{30}\selectfont Edited $\,$ LLM}; \end{tikzpicture} %} \caption{synthetic evaluation framework} \label{fig:van_eval} \end{subfigure} \begin{subfigure}[b]{0.48\textwidth} %\resizebox{\linewidth}{!}{ \begin{tikzpicture} \begin{scope}[opacity=0.15] \pic[name=sa10, local bounding box=sa10] at (0, 0) {self_att}; \pic[name=sa11, local bounding box=sa11] at ($(sa10-hs) + (2.2em,0)$) {self_att}; \pic[name=sa12, local bounding box=sa12] at ($(sa11-hs) + (3em,0)$) {self_att}; \end{scope} \node[text_node, draw, rounded corners=1.5, anchor=north west, text width=7.2em ] (ip2) at ($(sa10-hs) + (-0.6em, -1.3em)$) {\texttt{\{Context\}} Who wrote the song ``\textit{If I Were a Boy}'' ?}; \begin{scope}[on background layer] \node[project, rectangle, fill=flamingo!62, minimum width=3em, minimum height=0.78em, rounded corners=1, ] (c_bg) at ($(ip2.west) + (1.55em, 0.42em)$) {}; \end{scope} \node[text_node] (input_label) at ($(ip2.north) + (0, -2.4em)$) {\textcolor{flamingo}{\ding{202}} \bf context-guided input}; \node[text_node, anchor=north west] (de0) at ($(ip2.north east) + (1em,0)$) {\texttt{}}; \node[text_node, anchor=north west] (de1) at ($(de0.north east) + (0,0)$) {Beyonc\'e}; \node[text_node, anchor=north west] (de2) at ($(de1.north east) + (0.15em,0)$) {is}; \node[text_node, anchor=north west] (de3) at ($(de2.north east) + (0.8em,0)$) {the}; \node[text_node, anchor=north west] (de4) at ($(de3.north east) + (0.35em,0)$) {writer}; \draw [semithick, decorate, decoration={brace, amplitude=5pt, mirror}] ([yshift=-0.6em, xshift=-1.6em] de1.south west) -- ([yshift=-0.6em, xshift=7.5em] de1.south west) node[text_node, midway,yshift=-0.8em] (tf) {\textcolor{flamingo}{\ding{203}} \bf autoregressive decoding}; \foreach \x in {0,1,2} { \draw [FARROW, puerto_rico, thick] ($(sa1\x-hs.south)+(0, -0.92em)$) to ++(0, 0.9em); } \begin{scope}[opacity=0.3] \foreach \x/\y in {0/5, 1/6, 2/7, 3/8, 4/9} { \pic[name=sa1\y, local bounding box=sa1\y] at ($(de\x |- sa10-hs)$){self_att}; \pic[name=vdot\y, local bounding box=vdot\y] at ($(sa1\y-hs.north) + (0, 2.7em)$) {my_dot}; } \foreach \x/\y in {5/6, 6/7, 7/8, 8/9} { \draw [arrow1, sunset_orange] ($(sa1\x-hs.east)+(0.04em, 0)$) -- ($(sa1\y-hs.west)+(-0.08em, 0)$); } \foreach \x in {5,6,7,8,9} { \node[hid_state] (sa3\x-hs) at ($(sa1\x-hs) + (0, 4.4em)$) {}; \draw [FARROW, puerto_rico, thick] ($(vdot\x.north)+(0, 0.06em)$) to ($(sa3\x-hs.south)+(0, -0.04em)$); } \end{scope} \foreach \x in {5,...,9} { \draw [FARROW, puerto_rico, thick] ($(sa1\x-hs.south)+(0, -1.1em)$) to ++(0, 1.08em); } % 纵向 \begin{scope}[opacity=0.15] \foreach \x in {0,1,2} { \node[hid_state] (sa3\x-hs) at ($(sa1\x-hs) + (0, 4.4em)$) {}; } % line & arrow \foreach \x in {1} { \draw [arrow1, sunset_orange] ($(sa\x0-hs.east)+(0.04em, 0)$) -- ($(sa\x1-hs.west)+(-0.08em, 0)$); \pic[name=cdot\x, local bounding box=cdot\x] at ($(sa\x1-hs.east)!0.52!(sa\x2-hs.west)$) {my_cdot}; \draw [arrow1, sunset_orange] ($(sa\x1-hs.east)+(0.04em, 0)$) -- ($(cdot\x.west)+(-0.04em, 0) $); %dotted, dash pattern=on 1pt off 0.8pt \draw [arrow1, sunset_orange] ($(cdot\x.east)+(0.08em, 0)$) -- ($(sa\x2-hs.west) +(-0.08em, 0) $); %, dotted, dash pattern=on 1pt off 0.8pt } \pic[name=cdot1-1, local bounding box=cdot1-1] at ($(cdot1o1 |- sa11-mha)$) {my_cdot}; \pic[name=cdot1-2, local bounding box=cdot1-2] at ($(cdot1o1 |- sa11-mlp)$) {my_cdot=[sushi]}; \foreach \x in {0,1,2} { \pic[name=vdot\x, local bounding box=vdot\x] at ($(sa1\x-hs.north) + (0, 2.7em)$) {my_dot}; \draw [FARROW, puerto_rico, thick] ($(vdot\x.north)+(0, 0.06em)$) to ($(sa3\x-hs.south)+(0, -0.04em)$); } \pic[name=cdot_io_0, local bounding box=cdot_io_0] at ($(sa12-hs.east)!0.5!(sa15-hs.west)$) {my_cdot=[puerto_rico]}; \foreach \x/\y in {1/sa12-mha} { \pic[name=cdot_io_\x, local bounding box=cdot_io_\x] at ($(cdot_io_0o1 |- \y)$) {my_cdot}; } \foreach \x/\y in {2/sa12-mlp} { \pic[name=cdot_io_\x, local bounding box=cdot_io_\x] at ($(cdot_io_0o1 |- \y)$) {my_cdot=[sushi]}; } \pic[name=cdot_io_30, local bounding box=cdot_io_30] at ($(cdot1o1 |- sa30-hs)$) {my_cdot=[puerto_rico]}; \pic[name=cdot_io_31, local bounding box=cdot_io_31] at ($(cdot_io_0o1 |- sa30-hs)$) {my_cdot=[puerto_rico]}; \draw [arrow1, sunset_orange] ($(sa12-hs.east)+(0.04em, 0)$) -- ($(cdot_io_0.west)+(-0.04em, 0) $); \end{scope} % 画省略号 \begin{scope}[opacity=0.3] \draw [arrow1, sunset_orange] ($(cdot_io_0.east)+(0.08em, 0)$) -- ($(sa15-hs.west) +(-0.08em, 0) $); \end{scope} \node[text_node, anchor=base, % 关键1:锚点改为基线 text depth=.15em, xshift=-0.3em, ] (de_out1) at ($(sa15-hs.north) + (0, 5.5em)$) {Beyonc\'e}; \node[text_node, anchor=base, % 关键1:锚点改为基线 text depth=.15em, ] (de_out2) at ($(sa16-hs.north |- de_out1.base)$) {is}; \node[text_node, anchor=base, % 关键1:锚点改为基线 text depth=.15em, ] (de_out3) at ($(sa17-hs.north |- de_out1.base)$) {the}; \node[text_node, anchor=base, % 关键1:锚点改为基线 text depth=.15em, ] (de_out4) at ($(sa18-hs.north |- de_out1.base)$) {writer}; \node[text_node, anchor=base, % 关键1:锚点改为基线 text depth=.15em, font=\fontsize{4.4pt}{5pt}\selectfont, xshift=0.4em, opacity=0.5, ] (de_out5) at ($(sa19-hs.north |- de_out1.base)$) {<|endoftext|>}; \begin{scope}[on background layer] \node[project, rectangle, fill=flamingo!60, minimum width=2.2em, minimum height=0.6em, rounded corners=1, ] (o_bg) at ($(de_out5) + (0, 0.05em)$) {}; \end{scope} \node[text_node, anchor=base, text opacity=0, text depth=.15em, ] (gt5) at ($(sa15-hs.north) + (0, 7.7em)$) {BC}; \node[text_node, anchor=base, text depth=.15em, ] (gt0) at ($(sa15-hs.north) + (1.6em, 7.7em)$) {BC Jean and Toby Gad}; \foreach \x/\y in {6/Jean, 7/and, 8/Toby, 9/Gad} { \node[text_node, text opacity=0, anchor=base, text depth=.15em, ] (gt\x) at ($(sa1\x-hs.south |- gt5.base)$) {\y}; } \node[text_node, anchor=base east, align=right, text depth=.15em, text width=2em, color=tuatara, font=\fontsize{4pt}{5pt}\selectfont \linespread{0.4}\selectfont ] (gt) at ($(de_out1.west) + (-0.2em, 2.65em) $) {\bf Ground Truth:}; \node[text_node, anchor=base east, text depth=.15em, color=tuatara, font=\fontsize{4pt}{5pt}\selectfont ] (op_label) at ($(de_out1.west) + (-0.15em, 0.15em) $) {\bf Output:}; % 首先需要在 tikzpicture 环境开始时启用 backgrounds 库 \begin{scope}[on background layer] \node[fill=athens_gray!42, draw=tuatara!42, thin, rounded corners=1pt, fit={(gt0) ($(gt0.west) + (-0.2em, 0)$) ($(gt0.east) + (0.2em, 0.55em)$)}, inner sep=-0.5pt, ] (gt_box) {}; \node[fill=athens_gray!42, draw=tuatara!42, thin, rounded corners=1pt, fit={(de_out1) (de_out4) ($(de_out1.west) + (-0.2em,0)$) ($(de_out4.east) + (0.2em,0)$)}, inner sep=-0.5pt, ] (output_box) {}; \end{scope} \foreach \x/\y in {5, 6, 7, 8, 9} { \draw [FARROW, puerto_rico, thick] ($(sa3\x-hs.north)+(0, 0.04em)$) to ++(0, 1.05em) ; } %%%% truncation % \node[stop sign, draw] at ($(de_out5.west) + (1em, 0.2em) $) {STOP}; \node[regular polygon, regular polygon sides=8, draw=flamingo!200, fill=flamingo, text=white, minimum size=0.2em, inner sep=0pt, outer sep=0pt] (stop) at ($(gt9.east) + (1.25em, -10em) $) {\fontsize{4pt}{5pt}\selectfont\bf STOP}; \coordinate (stp_p) at ($(de_out5.east)+ (0, 0.05em) $); \draw [FARROW, flamingo, thick, dash pattern=on 1pt off 0.8pt] ($(de_out5.east)+ (-0.1em, 0.05em) $) to ($(stp_p -| stop.north)$) to node[midway, sloped=true, color=black, font=\scriptsize, yshift=0.4em, xshift=-0.2em] (stop_label) {\bf natural stopping criteria} (stop.north) ; \node[text_node] at ($(stop_label.west) + (0, 0)$) { \textcolor{flamingo}{\ding{204}}}; %%%% verify & tearcher forcing %%%% metric \node[ anchor=center, align=center, ] (metric) at ($(gt.west) + (-0.6em, -1.6em)$) {\textcolor{ship_gray}{\large \faIcon{robot}}}; \node[text width=2.3em, text depth=.1em] (metric_label) at ($(metric.west) + (-0.7em, 0.3em)$) {\fontsize{6pt}{1pt}\selectfont \bfseries LLM-as-}; \node[text width=2.3em, text depth=.1em, align=left, anchor=west] (metric_label1) at ($(metric_label.west) + (0, -0.6em)$) {\fontsize{6pt}{1pt}\selectfont \bfseries a-Judge}; \node[text_node] (metric_an) at ($(metric_label.west) + (0, -0.3em)$) {\textcolor{flamingo}{\ding{205}}}; \node[text_node, text=flamingo!62!red, ] (result) at ($(metric.east) + (1em, 0)$) {0}; \draw [FARROW, red, densely dotted] ($(result.west)+(-0.9em, 0)$) to ++(1.1em, 0); \draw [FARROW] ($(gt_box.west)+(0, 0)$) to ++(-3em, 0) to ++(0, -0.55em); \draw [FARROW] ($(output_box.west)+(0, 0)$) to ++(-3em, 0) to ++(0, 0.55em); \begin{scope}[on background layer] \coordinate (target1) at ($(de_out1.east)+(0, -8.7em)$); \draw [FARROW, red] ($(de_out1.east)+(-0.2em, 0)$) to ($(de_out1.east)+(0, 0)$) to ++(0, -8.7em) to ($(target1 -| de1.south)$) to ($(de1.base)+(0, -0.1em)$) ; \draw [FARROW, red] ($(de_out2.east)+(-0.2em, 0)$) to ++ (1.1em, 0) to ++(0, -8.7em) to ($(target1 -| de2.south)$) to ($(de2.base)+(0, -0.1em)$); \draw [FARROW, red] ($(de_out3.east)+(-0.2em, 0)$) to ++ (0.35em, 0) to ++(0, -8.7em) to ($(target1 -| de3.south)$) to ($(de3.base)+(0, -0.1em)$); \draw [FARROW, red] ($(de_out4.east)+(-0.2em, 0)$) to ++ (0.2em, 0) to ++(0, -8.7em) to ($(target1 -| de4.south)$) to ($(de4.base)+(0, -0.1em)$); \end{scope} %--------------------- % (Optional) Draw a dashed "fit" box around certain self_att blocks %--------------------- \begin{scope}[on background layer] \node[fill=gallery!42, % draw, % dashed, % thick, rounded corners=2pt, fit={(sa10)(sa15)(sa16)(sa17)(sa18)(sa19)(sa30-hs)}, inner sep=3pt, ] (dashedBox) {}; \draw [dashed, flamingo] ($(cdot_io_0.north)+(0, -3.8em)$) to ($(cdot_io_31.north)+(0, 1.2em)$) ; \end{scope} \node[ draw, % dashed, % thick, rounded corners=2pt, fit={(sa10)(sa15)(sa16)(sa17)(sa18)(sa19)(sa30-hs)}, inner sep=3pt, ] {}; \node[ rounded corners=2pt, opacity=0.8, fit={(sa10)(sa15)(sa16)(sa17)(sa18)(sa19)(sa30-hs)}, inner sep=7pt, align=center, text height=24pt, text depth=0.9em, ] {\fontsize{24}{30}\selectfont Edited $\,$ LLM}; \end{tikzpicture} %} % \captionsetup{skip=2pt} \caption{\textsc{Wild} evaluation framework} \label{fig:prac_eval} \end{subfigure} % \captionsetup{skip=3pt} \caption{Illustration of synthetic and \textsc{Wild} evaluation frameworks for measuring reliability, generalization, and locality. Each framework comprises four key modules:\textcolor{flamingo}{\ding{202}}$\,$\textit{input}, \textcolor{flamingo}{\ding{203}}$\,$\textit{generation strategy}, \textcolor{flamingo}{\ding{204}}$\,$\textit{output truncation}, and \textcolor{flamingo}{\ding{205}}$\,$\textit{metric}. Here, we use LLM-as-a-Judge as an example metric to illustrate \textsc{Wild}, which supports various metrics.} \label{fig:eval_frame} \end{figure*}